您当前的位置 :环球传媒网>前瞻 > 正文
马蹄链polygon智能合约开发丨polygon马蹄链dapp合约代币流动性挖矿分红系统开发详情版_当前简讯
2023-03-11 10:12:42 来源:哔哩哔哩 编辑:

Dapps开发包括三个简单的步骤:

在区块链网络上部署智能合约


(资料图片)

从部署的智能合约中读取数据

将交易发送到部署的智能合约

智能合约

每个程序员都用他们最喜欢的编程语言执行了一个“hello world”程序,以了解运行该语言的基础知识。这是我们使用Solidity语言编写的简单的“hello world”版本的智能合约,我们可以在区块链上添加问候语并检索它。Solidity是编写智能合约最常用的语言,它编译为可以在节点上运行的以太坊虚拟机上执行的字节码。

pragma solidity^0.5.7;

contract greeter{

string greeting;

function greet(string memory _greeting)public{

greeting=_greeting;

}

function getGreeting()public view returns(string memory){

return greeting;

}

}

您可以通过传递字符串值使用greet()方法添加问候语,并使用getGreting()方法检索问候语。

1.在区块链网络上部署智能合约

a)创建项目:开发方案及功能I59案例2OO7系统3O69

mkdir pythonDapp

cd pythonDapp

truffle init

成功初始化项目后,转到您的文件夹并在/contracts目录中创建greeter.sol文件。在网络上部署合约之前,我们必须编译它并构建工件。

b)智能合约的编译:

因此,对于编译,我们将使用Truffle solc编译器。在您的主目录中,运行以下命令:

truffle compile

(or)

truffle.cmd compile#(for windows only)

上面的命令将在/contracts目录中编译你的合约,并在/build目录中创建二进制工件文件greeter.json。

c)部署合约:需求及源码部署唯:yy625019

打开您的Python IDLE编辑器,并在主目录deploy.py中使用以下代码创建一个新文件,然后在您的目录中运行py deploy.py。

import json

from web3 importWeb3,HTTPProvider

from web3.contract importConciseContract

#web3.py instance

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

print(w3.isConnected())

key="<Private Key here with 0x prefix>"

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

#compile your smart contract with truffle first

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

abi=truffleFile['abi']

bytecode=truffleFile['bytecode']

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

#building transaction

construct_txn=contract.constructor().buildTransaction({

'from':acct.address,

'nonce':w3.eth.getTransactionCount(acct.address),

'gas':1728712,

'gasPrice':w3.toWei('21','gwei')})

signed=acct.signTransaction(construct_txn)

tx_hash=w3.eth.sendRawTransaction(signed.rawTransaction)

print(tx_hash.hex())

tx_receipt=w3.eth.waitForTransactionReceipt(tx_hash)

print("Contract Deployed At:",tx_receipt['contractAddress'])

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

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

添加了用于签署交易的帐户地址和私钥。不要忘记在代码中添加您的凭据。

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

添加了带有随机数、gas、gasPrice等参数的construct_txn。此处,gas是指交易应在以太坊中使用和支付的最大计算资源量。gasPrice是指在交易中使用该数量的gas时的最小Ether数量。to指的是您发送交易的地址。仅当您将Ether发送到帐户或智能合约时才需要to参数。

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

在控制台中记录交易哈希和部署的合约地址。根据以太坊的说法,事务处理时间<20秒。所以你必须等待20秒才能获得部署的合约地址。您的后端现在已成功部署在以太坊区块链上。现在您可以使用此地址与您的智能合约进行交互。复制此合约地址。

关键词:

相关阅读
分享到:
版权和免责申明

凡注有"环球传媒网"或电头为"环球传媒网"的稿件,均为环球传媒网独家版权所有,未经许可不得转载或镜像;授权转载必须注明来源为"环球传媒网",并保留"环球传媒网"的电头。

Copyright © 1999-2017 cqtimes.cn All Rights Reserved 环球传媒网-重新发现生活版权所有 联系邮箱:8553 591@qq.com