欢迎光临散文网 会员登陆 & 注册

Matic马蹄链(dapp智能合约)开发丨马蹄链Matic智能合约dapp系统开发技术详情及逻辑

2023-03-11 10:18 作者:bili_33032327742  | 我要投稿

  如果区块链是一个数据库,智能合约就是能够使区块链技术应用到现实当中的应用层。智能合约是在区块链数据库上运行的计算机程序,可以在满足其源代码中写入的条件时自行执行。智能合约一旦编写好就可以被用户信赖,合约条款不能被改变,因此合约是不可更改的。


  向部署的合约发送交易


  在我们的合约中,有一个方法greet()。我们可以单独使用这种方法在我们的合同中添加问候语。让我们看看我们如何使用web3.py来做到这一点。打开您的Python IDLE编辑器并使用以下代码创建一个新文件sign.py。然后在您的目录中运行py sign.py。


  import json


  from web3 importWeb3,HTTPProvider


  from web3.contract importConciseContract


  #compile your smart contract with truffle first


  truffleFile=json.load(open('./build/contracts/greeter.json'))


  abi=truffleFile['abi']


  bytecode=truffleFile['bytecode']


  #web3.py instance


  w3=Web3(HTTPProvider("https://ropsten.infura.io/v3/<API key>"))#modify


  print(w3.isConnected())


  contract_address=Web3.toChecksumAddress("<Deployed Contract Address here>")#modify


  key="<Private key with 0x prefix here>"#modify


  acct=w3.eth.account.privateKeyToAccount(key)


  account_address=acct.address,开发功能及模式I59源码2OO7设计3O69


  #Instantiate and deploy contract


  contract=w3.eth.contract(abi=abi,bytecode=bytecode)


  #Contract instance


  contract_instance=w3.eth.contract(abi=abi,address=contract_address)


  #Contract instance in concise mode


  #contract_instance=w3.eth.contract(abi=abi,address=contract_address,ContractFactoryClass=ConciseContract)


  tx=contract_instance.functions.greet("Hello all my goody people").buildTransaction({'nonce':w3.eth.getTransactionCount(account_address)})


  #Get tx receipt to get contract address


  signed_tx=w3.eth.account.signTransaction(tx,key)


  #tx_receipt=w3.eth.getTransactionReceipt(tx_hash)


  hash=w3.eth.sendRawTransaction(signed_tx.rawTransaction)


  print(hash.hex())方案及案例威:yy625019


  导入的web3库和所有其他必需的模块


  通过指向Ropsten Infura节点启动web3提供程序


  添加了用于签署交易的帐户地址和私钥


  通过指向Truffle编译的工件文件greeter.json的abi和字节码启动合约实例


  创建tx对象以添加问候语“hello all my goody people”并建立交易


  使用我们的私钥签署交易并在网络上广播。


  在控制台中记录交易哈希。您可以使用您的交易哈希在etherscan上检查交易状态。一旦交易被矿工验证,我们的问候语将被添加到区块链上。


Matic马蹄链(dapp智能合约)开发丨马蹄链Matic智能合约dapp系统开发技术详情及逻辑的评论 (共 条)

分享到微博请遵守国家法律