파이썬으로 스마트 컨트랙트를 배포하기 위해서는 몇가지 설치해줘야할 것들이 있다.
우선 py-solc
$ sudo pip install py-solc
$ python -m solc.install v0.4.20
솔리디티의 버전을 뒤에 적어준다. 설치하고 나면 설치된 경로를 알 수 있다.
/home/daddy/.py-solc/solc-v0.4.20/bin/solc
설치된 경로를 path에 넣어준다. 경로 넣을때 solc는 빼라. 그건 실행 파일이다.
$ vi .bash_profile
$ source .bash_profile
$ solc --version
solc, the solidity compiler commandline interface
Version: 0.4.20+commit.3155dd80.Linux.g++
버전이 맞게 표시되면 제대로 한거다.
$ sudo pip install web3
이더리움과 연결하기 위해 사용한다.
간단히 테스트 해본다. 아래 소스를 이용해 파이썬 파일을 만든다.
from solc import compile_source, compile_files, link_code
source = """
pragma solidity ^0.4.2;
contract Example {
string s="Hello World!";
function set_s(string new_s) {
s = new_s;
}
function get_s() returns (string) {
return s;
}
}"""
compiled = compile_source(source)
print(compiled)
솔리디티의 버전을 잘 봐라. 솔리디티의 소스를 REMIX에서 테스트 해봐라. 버전에 맞춰서. 버전에 따라서 안될 수도 있다.
파이썬으로 실행해서 json 형식의 무언가 쏟아지면 제대로 한거다.
다음에는 이더리움 네트워크에 스마트 컨트랙트를 배포해보자
'파이썬' 카테고리의 다른 글
파이썬으로 카프카 토픽 가져와서 블록체인에 전송하고 txid 받아서 디비에 넣기 (0) | 2019.08.01 |
---|---|
파이썬으로 스마트컨트랙트 배포하기 feat POA 2/2 (0) | 2019.07.23 |
파이썬으로 크롤링하는 서버는 용량체크에 신경써라 (0) | 2019.06.14 |
파이썬으로 코인 전송하고 트랜잭션 확인하기 feat web3 (0) | 2019.06.04 |
파이썬으로 카프카 토픽 등록 토픽 읽기 (0) | 2019.06.03 |