亚洲一区二区电影_青青操久久_亚洲狠狠婷婷综合久久久久_国产欧美日韩在线观看精品

您當前的位置 :環球傳媒網>前瞻 > 正文
馬蹄鏈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