별은블로그
Solidity 5_2. 트러플콘솔을 사용한 컨트랙배포 본문
트러플에서는 web3 api를 제공한다.
내가 web3에 대해서는 잘 알지는 못하지만 명령어 사용법 몇개만 숙지하면 될 것 같다.
web3.eth.accounts 명령을 실행하면 주소를 확인할 수 있다.
web3.fromWei(web3.eth.getBalance(web3.eth.accounts[0]),"ether") 를 실행하면 0번째 주소의 ether 잔액을 확인할 수 있다.
전역변수에 MyContract객체를 넣어보자.
MyContract.deployed().then(function(instance){app = instance;}) -> 전역변수 app에 MyContract 객체를 대입한다는 것
undefined 라고 응답하면 제대로 된 것이다.
이제 app을 통해 node에서 배포된 MyContract와 소통할 수 있게 되었다.
app을 실행하면 확인할 수 있다.
아래로 내려보면 setStudentInfo 함수가 있음을 알 수 있다.
이를 이용해 값을 넣어보자
app.setStudentInfo(1111,"자야","female",3,{from:web3.eth.accounts[1]})
앞의 네개는 app 의 인자이고 마지막 파라미터는 트러플 내부에서 인식하는 파라미터인데 setStudentInfo()를 사용할 때
어떤 계정을 사용해서 호출하는지 명시해주는 것이다. => 필수
실행하면 트랜잭션이 성공하면서 reciept를 받은 것이 확인된다.
로그를 보는 파워쉘로 가도 확인할 수 있다. (로그 : truffle develop --log)
이후 두번째 계정의 잔액을 확인해보기 위해
web3.fromWei(web3.eth.getBalance(web3.eth.accounts[1]),"ether").toNumber() 명령을 실행하면
이더가 100이 아님을 확인할 수있다.
app.getStudentInfo(1111)을 실행하면 집어넣었던 데이터를 확인할 수 있다.
트러플 콘솔은 솔리디티개발자에게 좋은 테스트 환경을 제공해준다.
.exit 로 트러플콘솔 종료
'Dev > Solidity' 카테고리의 다른 글
Solidity 6. 만들어볼 Dapp 개요 (0) | 2018.11.11 |
---|---|
Solidity 5_3. 가나슈를 이용한 컨트랙배포 (0) | 2018.11.11 |
Solidity 5_1. 트러플콘솔로 컨트랙배포하기 (0) | 2018.11.11 |
Solidity 4. 컨트랙 최적화 (0) | 2018.11.05 |
Solidity 3. 가스(GAS)와 옵코드(opcode)에 대해... (0) | 2018.11.05 |