반응형

파이썬으로 코인을 전송하고 전송한 코인에대한 트랜잭션을 확인하는 작업을 해보자...

 

우선 파이썬으로 이런 작업을 할려면 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 가 짱이다.

반응형

+ Recent posts