별은블로그

Solidity 5_2. 트러플콘솔을 사용한 컨트랙배포 본문

Dev/Solidity

Solidity 5_2. 트러플콘솔을 사용한 컨트랙배포

beul_eun 2018. 11. 11. 05:52

트러플에서는 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 로 트러플콘솔 종료

Comments