国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

2.DApp-編寫和運(yùn)行solidity智能合約

這篇具有很好參考價(jià)值的文章主要介紹了2.DApp-編寫和運(yùn)行solidity智能合約。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

題記

? ? ? ? 演示如何編寫solidity智能合約,以及在remix中運(yùn)行solidity代碼。

準(zhǔn)備Remix環(huán)境

? ? ? ? 在瀏覽器中搜索remix,找到remix官網(wǎng),并打開(kāi)

solidity如何運(yùn)行,DApp,區(qū)塊鏈,智能合約,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),青少年編程,后端,分布式

? ? ? ? 由于是國(guó)內(nèi)網(wǎng)絡(luò),所以訪問(wèn)國(guó)外網(wǎng)站較慢,可以耐心等待加載完成,或者科學(xué)上網(wǎng)。?

? ? ? ? 加載完成是這樣:?

solidity如何運(yùn)行,DApp,區(qū)塊鏈,智能合約,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),青少年編程,后端,分布式?

編寫 app.sol文件

????????app.sol智能合約可以部署到以太坊網(wǎng)絡(luò)上,然后通過(guò)調(diào)用?setName?函數(shù)來(lái)設(shè)置名字,再通過(guò)調(diào)用?getName?函數(shù)來(lái)獲取名字。?

// SPDX-License-Identifier: MIT
//指定 Solidity 的版本號(hào),表示該智能合約是用 Solidity 0.8.0 版本編寫的
pragma solidity ^0.8.0;

//定義一個(gè)名為 NameContract 的合約
contract NameContract {
? ? //定義一個(gè)私有變量 name,它的值是一個(gè)字符串類型。
? ? string private name;

? ? //定義一個(gè) Solidity 函數(shù),名為 setName,它是一個(gè)公共函數(shù),可以被其他合約或外部賬戶調(diào)用。
? ? //該函數(shù)有一個(gè)參數(shù) _name,類型為 string memory,表示要設(shè)置的名字。
? ? //memory 關(guān)鍵字表示該參數(shù)的值將被存儲(chǔ)在內(nèi)存中,而不是存儲(chǔ)在合約的狀態(tài)變量中。
? ? function setName(string memory _name) public {
? ? ? ? name = _name;
? ? }

? ? //定義一個(gè) Solidity 函數(shù),名為 getName,它是一個(gè)公共視圖函數(shù)(view function),
? ? //該函數(shù)不會(huì)修改合約的狀態(tài)變量,只讀取合約的狀態(tài)變量并返回結(jié)果。
? ? //該函數(shù)沒(méi)有參數(shù),返回值類型為 string memory,表示返回的名字。
? ? //函數(shù)體中的語(yǔ)句 return name; 表示返回合約的狀態(tài)變量 name 的值作為函數(shù)的返回值。
? ? //因?yàn)檫@是一個(gè)視圖函數(shù),所以不需要使用 memory 或 storage 關(guān)鍵字來(lái)指定返回值的存儲(chǔ)位置。
? ? function getName() public view returns (string memory) {
? ? ? ? return name;
? ? }
}
?

// SPDX-License-Identifier: MIT
//指定 Solidity 的版本號(hào),表示該智能合約是用 Solidity 0.8.0 版本編寫的
pragma solidity ^0.8.0;

//定義一個(gè)名為 NameContract 的合約
contract NameContract {
    //定義一個(gè)私有變量 name,它的值是一個(gè)字符串類型。
    string private name;

    //定義一個(gè) Solidity 函數(shù),名為 setName,它是一個(gè)公共函數(shù),可以被其他合約或外部賬戶調(diào)用。
    //該函數(shù)有一個(gè)參數(shù) _name,類型為 string memory,表示要設(shè)置的名字。
    //memory 關(guān)鍵字表示該參數(shù)的值將被存儲(chǔ)在內(nèi)存中,而不是存儲(chǔ)在合約的狀態(tài)變量中。
    function setName(string memory _name) public {
        name = _name;
    }

    //定義一個(gè) Solidity 函數(shù),名為 getName,它是一個(gè)公共視圖函數(shù)(view function),
    //該函數(shù)不會(huì)修改合約的狀態(tài)變量,只讀取合約的狀態(tài)變量并返回結(jié)果。
    //該函數(shù)沒(méi)有參數(shù),返回值類型為 string memory,表示返回的名字。
    //函數(shù)體中的語(yǔ)句 return name; 表示返回合約的狀態(tài)變量 name 的值作為函數(shù)的返回值。
    //因?yàn)檫@是一個(gè)視圖函數(shù),所以不需要使用 memory 或 storage 關(guān)鍵字來(lái)指定返回值的存儲(chǔ)位置。
    function getName() public view returns (string memory) {
        return name;
    }
}

在remix中運(yùn)行solidity代碼?

?編譯智能合約

solidity如何運(yùn)行,DApp,區(qū)塊鏈,智能合約,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),青少年編程,后端,分布式

?選擇正確的solidity版本

?solidity如何運(yùn)行,DApp,區(qū)塊鏈,智能合約,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),青少年編程,后端,分布式

編譯成功展示圖?
solidity如何運(yùn)行,DApp,區(qū)塊鏈,智能合約,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),青少年編程,后端,分布式?部署智能合約

? ? ? ? ?選擇運(yùn)行智能合約的環(huán)境(remix虛擬環(huán)境,ganache,本地geth),再點(diǎn)擊編譯。

solidity如何運(yùn)行,DApp,區(qū)塊鏈,智能合約,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),青少年編程,后端,分布式?

編譯完成展示圖?

solidity如何運(yùn)行,DApp,區(qū)塊鏈,智能合約,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),青少年編程,后端,分布式?

?使用合約中的setName方法

? ? ? ? 右側(cè)是交易信息

solidity如何運(yùn)行,DApp,區(qū)塊鏈,智能合約,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),青少年編程,后端,分布式?

使用合約中的getName方法?

?后記

? ? ? ? 覺(jué)得有用可以點(diǎn)贊或收藏!?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-779095.html

到了這里,關(guān)于2.DApp-編寫和運(yùn)行solidity智能合約的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【區(qū)塊鏈技術(shù)開(kāi)發(fā)】 Solidity使用Truffle Box工具實(shí)現(xiàn)預(yù)構(gòu)建模板、自動(dòng)化部署、創(chuàng)建智能合約示例代碼

    專欄:區(qū)塊鏈技術(shù)開(kāi)發(fā) Truffle Box是一個(gè)開(kāi)發(fā)工具,為Truffle生態(tài)系統(tǒng)中的開(kāi)發(fā)人員提供了預(yù)構(gòu)建

    2023年04月16日
    瀏覽(159)
  • 【區(qū)塊鏈】以太坊Solidity編寫一個(gè)簡(jiǎn)單的Hello World合約

    【區(qū)塊鏈】以太坊Solidity編寫一個(gè)簡(jiǎn)單的Hello World合約

    熟悉一門語(yǔ)言得從Hello World! 開(kāi)始,因?yàn)檫@是最簡(jiǎn)單的一個(gè)輸出形式。 我們先在contracts目錄下建立一個(gè)helloworld.sol文件 進(jìn)入編輯 保存退出 在migrations下新建一個(gè)部署合約的js文件:3_initial_migration.js 名字可以變動(dòng) 接下來(lái)在test中使用js調(diào)用智能合約 在另一個(gè)窗口打開(kāi)ganache 運(yùn)行智

    2024年02月15日
    瀏覽(24)
  • 基于openzeppelin編寫solidity可升級(jí)的智能合約

    基于openzeppelin編寫solidity可升級(jí)的智能合約

    ????????現(xiàn)代軟件的設(shè)計(jì)原則是“敏捷開(kāi)發(fā),迅速迭代”,功能升級(jí)或bug修復(fù)是所有軟件系統(tǒng)都要面對(duì)的問(wèn)題。甚至可以說(shuō)軟件質(zhì)量在很大程度上依賴于升級(jí)和修補(bǔ)源代碼的能力。當(dāng)然Dapp(去中心化應(yīng)用)也不例外,尤其Dapp一切都是透明的,這使得任何級(jí)別的bug都會(huì)被成

    2024年01月18日
    瀏覽(26)
  • 【區(qū)塊鏈 | Solidity】Solidity開(kāi)發(fā)教程:用Web3.js構(gòu)建第一個(gè)Dapp

    Web3.js 使用的實(shí)用介紹 原文?作者:wissal haji 歡迎訂閱《Solidity智能合約零基礎(chǔ)開(kāi)發(fā)教程專欄》系列文章。 如果你一直在跟著這個(gè)系列學(xué)習(xí),那么你已經(jīng)掌握了編寫自己的智能合約。 因此,今天給大家介紹一下構(gòu)建去中心化應(yīng)用的全貌,并向大家介紹一下web3.js,這是構(gòu)建da

    2024年01月24日
    瀏覽(27)
  • 區(qū)塊鏈智能合約編程語(yǔ)言 Solidity

    上文介紹了區(qū)塊鏈生態(tài)發(fā)展,我們知道以太坊的到來(lái)可以使開(kāi)發(fā)人員基于區(qū)塊鏈開(kāi)發(fā)DApp,本文介紹 Solidity 編程語(yǔ)言的使用,然后基于 Solidity 編寫一個(gè)簡(jiǎn)單的智能合約。 Solidity 是以太坊開(kāi)發(fā)人員使用的編程語(yǔ)言,用來(lái)編寫智能合約,運(yùn)行在以太坊虛擬機(jī)(EVM)上。 有開(kāi)發(fā)經(jīng)

    2024年02月12日
    瀏覽(29)
  • 關(guān)于區(qū)塊鏈、Web3.0、智能合約、DApp、DAO一文解釋清楚

    關(guān)于區(qū)塊鏈、Web3.0、智能合約、DApp、DAO一文解釋清楚

    區(qū)塊鏈簡(jiǎn)單理解就是, 所有數(shù)據(jù)變成區(qū)塊組成的鏈條,一個(gè)區(qū)塊里保存著一條數(shù)據(jù)。 一筆支付、一個(gè)評(píng)論、一次查看、一條短信、一袋蘋果都能保存為一個(gè)數(shù)據(jù)區(qū)塊。 由于區(qū)塊通過(guò)鏈條環(huán)環(huán)相扣,這確保了鏈上的數(shù)據(jù)是不可被篡改的。 鏈條復(fù)制了多條副本放置到多臺(tái)互不相

    2024年02月02日
    瀏覽(61)
  • 【區(qū)塊鏈-智能合約工程師】第二篇:Solidity入門

    【區(qū)塊鏈-智能合約工程師】第二篇:Solidity入門

    參考文章:一文速覽2022十大智能合約開(kāi)發(fā)工具 資料地址:WTF學(xué)院 HelloWorld remix:在線智能合約開(kāi)發(fā)IDE(Integrated Development Environment,集成開(kāi)發(fā)環(huán)境),可以在瀏覽器中快速部署測(cè)試智能合約。 合約HelloWorld: 事項(xiàng) 說(shuō)明 代碼所用的軟件許可(license) 不寫許可的話編譯時(shí)會(huì)警告

    2024年02月09日
    瀏覽(28)
  • 區(qū)塊鏈智能合約solidity的中的一些關(guān)鍵字

    區(qū)塊鏈智能合約solidity的中的一些關(guān)鍵字

    目? 錄 pragma mapping msg對(duì)象 block對(duì)象 contract constructor struct 數(shù)據(jù)地址 地址類型 address payable revert 以下場(chǎng)景使用 revert() : require 以下場(chǎng)景使用 require() : assert 以下場(chǎng)景使用 assert(): 訪問(wèn)權(quán)限 internal public private external function returns return view pure constant event emit modifier pragma ??

    2024年01月16日
    瀏覽(27)
  • 【區(qū)塊鏈-智能合約工程師】第三篇:Solidity進(jìn)階(一)

    學(xué)習(xí)資料地址:WTF學(xué)院 庫(kù)合約一般都是一些好用的函數(shù)合集(庫(kù)函數(shù)),為了提升solidity代碼的復(fù)用性和減少gas而存在。他和普通合約主要有以下幾點(diǎn)不同: 不能存在狀態(tài)變量 不能夠繼承或被繼承 不能接收以太幣 不可以被銷毀 String庫(kù) String庫(kù)合約是將uint256(大正整數(shù))類型

    2024年02月06日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包