Python-conflux-sdk (or conflux-web3) helps to interact with Conflux network using python. It is built over web3.py and most of its APIs are consistent with web3.py.
Note: python-conflux-sdk v1.3.0 is the version compatible with web3.py v6.x. If you are using web3.py v7.x, please use the v1.4.0 or later.
Requirements: python version >= 3.8
$ pip3 install conflux-web3
from conflux_web3 import Web3
w3 = Web3(Web3.HTTPProvider("https://test.confluxrpc.com"))
acct = w3.account.from_key("0xxxxxxxxxxxxxx")
w3.cfx.default_account = acct
# Uncomment the following line if there is not CFX in your account
# w3.cfx.contract(name="Faucet").claimCfx().transact().executed()
w3.cfx.send_transaction({
'to': w3.address.zero_address(),
'value': 10**18,
}).executed()
Or you can also use API as you do in web3.py
before v6.20:
# modified from https://web3py.readthedocs.io/en/v6.20.2/transactions.html#chapter-1-w3-eth-send-transaction-signer-middleware
from conflux_web3 import Web3
w3 = Web3(Web3.HTTPProvider("https://test.confluxrpc.com"))
from conflux_web3.middleware import SignAndSendRawMiddlewareBuilder
from cfx_account import Account
acct = Account.create('KEYSMASH FJAFJKLDSKF7JKFDJ 1530', network_id=w3.cfx.chain_id)
w3.middleware_onion.inject(SignAndSendRawMiddlewareBuilder.build(acct), layer=0)
w3.cfx.default_account = acct.address
transaction = {
'to': w3.address.zero_address(),
'value': 22,
}
w3.cfx.send_transaction(transaction)
More detailed code examples are provided in the documentation.
All code examples can be run online in mybinder. You can click 🚀
-> Binder
on the top bar to activate the running environment. All dependencies wil be installed and the example can be run immediately.
Currently this documentation supports:
- English version
- Chinese version
And welcome to provide translation in GitLocalize.