파이썬으로 코인을 전송하고 전송한 코인에대한 트랜잭션을 확인하는 작업을 해보자...
우선 파이썬으로 이런 작업을 할려면 web3라는 놈을 설치해 주어야 한다.
그 전에 코인을 전송하려면 코인이 있어야하고 코인이 있으려면 이더리움을 설치해야한다.
우선 블록체인 카테고리의 프라이빗네트워크 구성 글을 보고 세팅 한 후 테스트 하자..
세팅이 끝났다면
#pip install web3
뭔가 한참 설치한다...
코인을 전송해보자...
파일을 만든다. send.py
-------------------------------------------------
from web3 import Web3, HTTPProvider
rpc_url = "http://127.0.0.1:8545"
w3 = Web3(HTTPProvider(rpc_url))
pl=w3.personal.unlockAccount(w3.eth.coinbase, "비밀번호", 5000);
addr="0xd5f5170878a35d9cee9822f62217bdae0021347b"
checkAddr= w3.toChecksumAddress(addr)
params={
"to": checkAddr,
"from": w3.eth.coinbase,
"value": w3.toWei("3", "ether"),
"gas": 420000
}
tx = w3.eth.sendTransaction(params)
txid=tx.hex()
print(txid)
-------------------------------
unlockAccount를 이용해 암호를 풀어준다. 그리고 toChecksumAddress를 이용해 주소를 검증한다.
sendTransaction으로 전송을 하는데 이때 리턴값이 hex값이다.
tx.hex()로 풀어준다...
이때 나온 txid를 이용해 트랜잭션을 조회해보자
tx.py
---------------------------------------------------------
from web3 import Web3, HTTPProvider
rpc_url = "http://127.0.0.1:8545"
w3 = Web3(HTTPProvider(rpc_url))
txid="0x904cba56e8582a8570d9ad40cb81e3a5e5285e1b5ad962a2ebe1f10d33f202b5"
tx_receipt = w3.eth.getTransaction(txid)
print(tx_receipt)
------------------------------------------------------------
이렇게 하면 된다. 보는 사람은 쉽겠지만 이것도 알아낸다고 고생 좀 했다...
해보니 쉬운데 그래도 파이썬 보다는 node가 편하다는 생각도 든다...
사실 이정도는 php로도 가능하다...
php 가 짱이다.
'파이썬' 카테고리의 다른 글
파이썬으로 스마트컨트랙트 배포하기 feat POA 2/2 (0) | 2019.07.23 |
---|---|
파이썬으로 스마트컨트랙트 배포하기 feat POA 1/2 (0) | 2019.07.23 |
파이썬으로 크롤링하는 서버는 용량체크에 신경써라 (0) | 2019.06.14 |
파이썬으로 카프카 토픽 등록 토픽 읽기 (0) | 2019.06.03 |
파이썬으로 크롤링 할때 크롬이나 파폭 드라이버 쓰면 서버 부하 올라가는 현상 (0) | 2018.07.06 |