区块被增加到区块链之前,并不是所有区块都可以生成区块数据,也不是所有区块数据都能被增加到区块链成为最新的数据,这个过程有一定的门槛,需要筛选出一个值得信任的节点来生成数据,然后由其他节点来验证其生成数据的有效性。这个生产区块的过程会得到数字货币的激励,因此很多节点会加入生产区块的竞争。如果某个节点生产的区块数据得到了其他节点的验证,则其他节点会将最新的区块存储到本地,然后加入下一个数据块的生产竞争,这个过程被称为挖矿,而生成数据的节点被称为矿工。
from web3 import Web3
import web3
CONTRACT='0x22C1f6050E56d2876009903609a2cC3fEf83B415'#合约地址
HTTPProvider="https://dai.poa.network"#主网HttpProvider
#---打开abi json文件
with open('contracts/contract_abi.json','r')as contract_abi:
abi=json.load(contract_abi)
#---提供HTTPProvider,链上互动的接口
w3=Web3(Web3.HTTPProvider(HTTPProvider))
#---检查HTTPProvider
print(w3.isConnected())
#---继续
#---连接合约
contract=w3.eth.contract(address=CONTRACT,abi=abi)
#---使用合约功能
ACC='0xAdA556CcC02cc968579FF5294D52DC0eBf5eE328'
balance=contract.functions.balanceOf(acc).call()
print(balance)