[Ethereum] Python script – get balance and send transaction

balancesgo-ethereumnodespythontransactions

I'm a developer who is new to ETH and I would like to write python CLI that can check balance of ETH address and can create -> sign -> publish transaction to network via locally running Geth node (I don't want a dependency to 3rd party service).

I have found this python lib https://github.com/ConsenSys/ethjsonrpc which looks fine for my use case.

My question is, whether this seems as a good setup and in what syncmode should be Geth node executed in my use case? Do I need full node or fast/light will be sufficient? I have read documentation but I'm still not sure what do I need.

Thank you for any help.

Best Answer

ethjsonrpc seems to be un-maintained; it has no commits for over a year. Check out web3.py as an alternative: http://web3py.readthedocs.io/en/stable/ (note: I am a web3.py contributor).

A light node is sufficient, but there might not always be enough full nodes to service light nodes.

The --syncmode fast parameter (a default) still gives you a full node on geth. There is no reason not to use it for the initial sync. It only works on the initial sync, and is auto-disabled after that.