# ERC20 토큰 발행하려는데 IDE Deploy & Truffle로 스마트 컨트랙 배포 차이

**URL:** <https://devforum.kaia.io/t/erc20-ide-deploy-truffle/898>\
**Category:** Kaia\
**Created:** [4월 7, 2021, 3:58오전 UTC](https://devforum.kaia.io/t/erc20-ide-deploy-truffle/898 "2021-04-07T03:58:24Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![Winnie](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/winnie/32/247_2.png) [@Winnie](https://devforum.kaia.io/u/Winnie)\
**Post date:** [4월 7, 2021, 12:22오후 UTC](https://devforum.kaia.io/t/erc20-ide-deploy-truffle/898/7 "2021-04-07T12:22:29Z")

</div>

> 1. 배포 전이 아니라 배포 후에 msg.sender(배포자)를 저장할 수 있다는 말씀이시죠?  
> 정확히는 스마트 컨트랙을 발행한 EOA의 계좌 주인이 되는 거죠? 이후에 바꿀 수 있는게 아니라

스마트 컨트랙트 권한은 설정하기 나름입니다.  
msg.sender는 해당 컨트랙트에 함수를 실행한 계정의 주소입니다. contract 배포할 때의 msg.sender는 컨트랙트 배포자가 되는것이지요.  
그래서 많은 예시에서 constract constructor에서 msg.sender를 contract owner로 설정합니다.  
@okay 님이 컨트랙트내에 owner의 주소를 바꿀 수 있는 함수를 짜실 수도 있고, owner가 여러명이게 만들 수도 있습니다.

그리고 modifier를 정의해서 다른 함수를 실행하기 전 권한 설정을 할 수 있습니다.  
예시 : [Contracts — Solidity 0.5.3 documentation](https://docs.soliditylang.org/en/v0.5.3/contracts.html?#function-modifiers)

> 1. solc version입니다  
> npm list solc 아니면 npm show solc version을 해야 나오네요.

truffle 버전도 solidity 버전과 통일시켜줬어야 했던 것으로 기억납니다. 저도 예전에 이것 때문에 truffle 삭제 하고 다시 설치해서 해결했던 것 같습니다. 이건 저도 한번 확인해 보고 다시 알려드릴게요.

> 1. API 사용을 여쭙기 전에, API를 쓰려면 KAS에서 토큰 등록을 먼저 해야 되더군요.  
> 그럴려면 [여기](https://devforum.kaia.io/t/erc/754) 답변처럼 진행을 하려는데, caver-js에서 signuatre값을 가져오려 해도 문제네요  
> 아래 TextDecoder는 node version이 11 이상부터 해결될 수 있다는데…  
> 현재 권장하는 버전이 truffle 4.15, solc 0.5.6, node v10, npm v6 아닌가요?

지원하는 툴마다 버전이 달라서 문제를 겪고 계신군요. 이건 저희가 한번 맞춰봐야 할 것 같습니다. 일단 지금 truffle-hdwallet-provider-klaytn은 node v10까지 동작하는 것을 확인했습니다. 정식적이진 않지만, node v12 이상에서 truffle을 방법은 있습니다. 불편해도 다음 방법을 이용해 주시면 감사하겠습니다.

> [@Node 12에서는 truffle-hdwallet-provider-klaytn 모듈이 설치가 되지 않습니다](https://devforum.kaia.io/t/node-12-truffle-hdwallet-provider-klaytn/306/5):
>
> 안녕하세요~ Klaytn 플랫폼 개발팀 Winnie 입니다 slight_smile 제가 최근에 truffle-hdwallet-provider-klaytn 모듈와 관련하여 작업한 내용이 있어 공유 드립니다. truffle-hdwallet-provider-klaytn은 @truffle/hdwallet-provider의 수정 버전으로 2019년 7월 버전 이후로 업뎃이 진행되지 않았습니다. 해당 버전은 말씀하신대로 node 12이상의 버전에서 실행되지 않으며, contract 길이 제한이 있습니다. 최신 @truffle/hdwallet-provider 버전은 node 12 이상의 버전에서 실행되며 contract 길이 제한이 없습니다. 방법1) 임시로 Klaytn 버전으로 만들어 둔 것이 있으니 사용하실 수 있습니다. yarn add klaytn/truffle-hdwallet-provider-klaytn#v5.1.63-klaytn 방법2) @truffle/hdwallet-p…

---

_[View the full topic](https://devforum.kaia.io/t/erc20-ide-deploy-truffle/898)._
