写点什么

DAPP/LP 单双币(子母币)流动性质押挖矿分红系统开发(开发说明及源码)

  • 2023-03-11
    广东
  • 本文字数:1198 字

    阅读完需:约 4 分钟

DAPP/LP单双币(子母币)流动性质押挖矿分红系统开发(开发说明及源码)

Web3.0 的主要组成部分


Web3.0 主要可以分为几块:区块链、智能合约、密码学以及分布式存储。


区块链技术是实现 Web3.0 的核心前提:区块链技术是一种高级数据库机制,允许在企业网络中透明地共享信息。区块链通过链式记账法,将数据存储在链式记账中,数据库则连接到一个链条中。由于数据在链条的时间上是一致的,因此无法删除或者修改,具有一致性。


向部署的合约发送交易


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


import json 流程及案例开发 I35 详细 7O98 设计 O7I8


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/"))#modify


print(w3.isConnected())


contract_address=Web3.toChecksumAddress("")#modify


key=""#modify


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


account_address=acct.address,


#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 模式及分析案例:MrsFu123


#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())


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


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


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


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


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


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


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


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

用户头像

还未添加个人签名 2020-12-10 加入

还未添加个人简介

评论

发布
暂无评论
DAPP/LP单双币(子母币)流动性质押挖矿分红系统开发(开发说明及源码)_系统开发咨询1357O98O718_InfoQ写作社区