• <rt id="2wkqu"><small id="2wkqu"></small></rt>
  • 您當(dāng)前的位置 :環(huán)球傳媒網(wǎng)>前瞻 > 正文
    馬蹄鏈polygon智能合約開發(fā)丨polygon馬蹄鏈dapp合約代幣流動(dòng)性挖礦分紅系統(tǒng)開發(fā)詳情版_當(dāng)前簡訊
    2023-03-11 10:12:42 來源:嗶哩嗶哩 編輯:

    Dapps開發(fā)包括三個(gè)簡單的步驟:

    在區(qū)塊鏈網(wǎng)絡(luò)上部署智能合約


    (資料圖片)

    從部署的智能合約中讀取數(shù)據(jù)

    將交易發(fā)送到部署的智能合約

    智能合約

    每個(gè)程序員都用他們最喜歡的編程語言執(zhí)行了一個(gè)“hello world”程序,以了解運(yùn)行該語言的基礎(chǔ)知識(shí)。這是我們使用Solidity語言編寫的簡單的“hello world”版本的智能合約,我們可以在區(qū)塊鏈上添加問候語并檢索它。Solidity是編寫智能合約最常用的語言,它編譯為可以在節(jié)點(diǎn)上運(yùn)行的以太坊虛擬機(jī)上執(zhí)行的字節(jié)碼。

    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.在區(qū)塊鏈網(wǎng)絡(luò)上部署智能合約

    a)創(chuàng)建項(xiàng)目:開發(fā)方案及功能I59案例2OO7系統(tǒng)3O69

    mkdir pythonDapp

    cd pythonDapp

    truffle init

    成功初始化項(xiàng)目后,轉(zhuǎn)到您的文件夾并在/contracts目錄中創(chuàng)建greeter.sol文件。在網(wǎng)絡(luò)上部署合約之前,我們必須編譯它并構(gòu)建工件。

    b)智能合約的編譯:

    因此,對(duì)于編譯,我們將使用Truffle solc編譯器。在您的主目錄中,運(yùn)行以下命令:

    truffle compile

    (or)

    truffle.cmd compile#(for windows only)

    上面的命令將在/contracts目錄中編譯你的合約,并在/build目錄中創(chuàng)建二進(jìn)制工件文件greeter.json。

    c)部署合約:需求及源碼部署唯:yy625019

    打開您的Python IDLE編輯器,并在主目錄deploy.py中使用以下代碼創(chuàng)建一個(gè)新文件,然后在您的目錄中運(yùn)行py deploy.py。

    import json

    from web3 importWeb3,HTTPProvider

    from web3.contract importConciseContract

    #web3.py instance

    w3=Web3(HTTPProvider("https://ropsten.infura.io/v3/&lt;API key&gt;"))

    print(w3.isConnected())

    key="&lt;Private Key here with 0x prefix&gt;"

    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'])

    導(dǎo)入的web3庫和所有其他必需的模塊

    通過指向Ropsten Infura節(jié)點(diǎn)啟動(dòng)web3提供程序

    添加了用于簽署交易的帳戶地址和私鑰。不要忘記在代碼中添加您的憑據(jù)。

    通過指向Truffle編譯的工件文件greeter.json的abi和字節(jié)碼啟動(dòng)合約實(shí)例

    添加了帶有隨機(jī)數(shù)、gas、gasPrice等參數(shù)的construct_txn。此處,gas是指交易應(yīng)在以太坊中使用和支付的最大計(jì)算資源量。gasPrice是指在交易中使用該數(shù)量的gas時(shí)的最小Ether數(shù)量。to指的是您發(fā)送交易的地址。僅當(dāng)您將Ether發(fā)送到帳戶或智能合約時(shí)才需要to參數(shù)。

    使用我們的私鑰簽署交易并在網(wǎng)絡(luò)上廣播。

    在控制臺(tái)中記錄交易哈希和部署的合約地址。根據(jù)以太坊的說法,事務(wù)處理時(shí)間&lt;20秒。所以你必須等待20秒才能獲得部署的合約地址。您的后端現(xiàn)在已成功部署在以太坊區(qū)塊鏈上?,F(xiàn)在您可以使用此地址與您的智能合約進(jìn)行交互。復(fù)制此合約地址。

    關(guān)鍵詞:

    相關(guān)閱讀
    分享到:
    版權(quán)和免責(zé)申明

    凡注有"環(huán)球傳媒網(wǎng)"或電頭為"環(huán)球傳媒網(wǎng)"的稿件,均為環(huán)球傳媒網(wǎng)獨(dú)家版權(quán)所有,未經(jīng)許可不得轉(zhuǎn)載或鏡像;授權(quán)轉(zhuǎn)載必須注明來源為"環(huán)球傳媒網(wǎng)",并保留"環(huán)球傳媒網(wǎng)"的電頭。

    Copyright ? 1999-2017 cqtimes.cn All Rights Reserved 環(huán)球傳媒網(wǎng)-重新發(fā)現(xiàn)生活版權(quán)所有 聯(lián)系郵箱:8553 591@qq.com
    久久激情五月网站,一本色道综合亚洲精品精品,午夜电影久久久久久,中文无码AV片在线 成a在线观看视频播放 婷婷色中文在线观看
  • <rt id="2wkqu"><small id="2wkqu"></small></rt>