以太坊學習(三)

2021-10-04 05:21:00 字數 2681 閱讀 6732

node.js安裝

安裝solidity編譯器

npm install -g solc
檢視版本:solcjs -v安裝 truffle 框架

npm install -g truffle
驗證安裝:truffle.cmd version安裝節點**器ganache-cli(也可以安裝圖形版的ganache)

npm install -g ganache-cli
驗證安裝:ganache-cli新建乙個資料夾hello並進入該資料夾下進行操作

mkdir hello

cd hello

建立乙個truffle專案:truffle init

目錄結構:

contracts資料夾中建立新合約hello.sol, 合約內容如下

pragma solidity ^0.5.16;

contract hello

}

migrations資料夾中新增部署指令碼2_deploy_hello.js,內容如下

var hello = artifacts.require("hello");

module.exports = function(deployer) ;

或者在1_initial_migration.js中新增如下**

var migrations = artifacts.require("./migrations.sol");

var hello = artifacts.require("hello.sol");

module.exports = function (deployer) ;

回到命令列操作,對檔案進行編譯

$ truffle compile

compiling your contracts...

*************************==

> compiling .\contracts\migrations.sol

> compiling .\contracts\hello.sol

> artifacts written to e:\hello\build\contracts

> compiled successfully using:

- solc: 0.5.16+commit.9c3226ce.emscripten.clang

配置ganache執行ganache

開啟truffle-config.js配置檔案,在module-exports模組中輸入如下內容

development:

host、port、network_id引數都是根據ganache中對應的引數填寫

部署合約。回到命令列操作,指令輸入:truffle migrate結果如下:

部署成功後,可以發現ganache的以太幣發生變化了

呼叫合約。

回到命令列,輸入指令:truffle console進入操作台

進行合約函式的呼叫:

hello.deployed().then(instance=>contract=instance)

上述指令含義是獲取hello合約,存為instance,並將其儲存到contract變數中以便後期使用。

呼叫hello合約中定義好的say()函式。輸入命令contract.say()

win7下以太坊基於truffle+ganache開發環境搭建以及智慧型合約的部署呼叫

以太坊 Solidity學習

函式set和get可以用來變更或取出變數的值。該合約能完成的事情並不多 由於以太坊構建的基礎架構的原因 它能允許任何人在合約中儲存乙個單獨的數字,並且這個數字可以被世界上任何人訪問,且沒有可行的辦法阻止你發布這個數字。當然,任何人都可以再次呼叫 set 傳入不同的值,覆蓋你的數字,但是這個數字仍會被...

以太坊solidity例項學習

判斷是否是管理員,然後儲存被投資者資訊 投資者能對被投資者任意投資 判斷是否是管理員,然後儲存被投資者資訊 投資者能對被投資者任意投資 pragma solidity 0.4.5 contract pcl struct beitouzizhe address beitouzizhe all beit...

3 3 以太坊 以太坊核心詞彙詳解

以太坊虛擬機器 以太坊中智慧型合約的執行環境。賬戶外部賬戶 被公鑰 私鑰對控制 合約賬戶 合約賬戶被儲存在賬戶中的 控制 外部賬戶與合約賬戶區別 內部結構 訊息 類似於位元幣上的交易與位元幣交易的不同點 以太坊的訊息可以由外部實體或者合約建立,位元幣的交易只能外部建立 以太坊的訊息可以包含資料 如果...