solidity 實施步驟

1.先安裝 Node.js 到最新版

2.用管理員模式 power shell

更新 npn install -g npm:8

npm install –global windows-build-tool


npm install -g truffle ganache-cli


查看 truffle version 版本

用cmd 啟動 ganache-cli
安裝好後隨時可以使用ganache-cli9命令來啟動乙太坊測試環境

3.

ganache-cli

可以看到ganache-cli啟動後自動建立了10個帳戶(Accounts),與每個帳戶對應的私鑰(Private Key)。每個帳戶中都有100個測試用的以太幣(Ether)。要注意ganache-cli僅運行在記憶體中,因此每次重開時都會回到全新的狀態。重來的意思~~

如下所示:

C:\Users\hi tai>ganache-cli
Ganache CLI v6.12.2 (ganache-core: 2.13.2)

Available Accounts

(0) 0x459d65e41F04Ae7d23beD3Ce74e56f44eB2Cd357 (100 ETH)
(1) 0xA601c9D582961aCD6d36757B4E704722540289c0 (100 ETH)
(2) 0xFE6e0B153B78805643f07C120dB8743e86eB532F (100 ETH)
(3) 0x7e50BD85e82B8744274F7ADfE319309411E0586A (100 ETH)
(4) 0x87Dbe85A1fCee193aF50238c67A92b0C8634a448 (100 ETH)
(5) 0xfC59156a1571E5104356aE4E4a7547659E436134 (100 ETH)
(6) 0xFA7467e459d1bd18435550889E0baF46a9864896 (100 ETH)
(7) 0x804Df3947D3fe5cfCFE29827e1eE10384078E928 (100 ETH)
(8) 0x79046bE625f271Be92c336762F8E5803498B6bcc (100 ETH)
(9) 0xeBD6E29043ca857160f36fec60fA8E07825C5384 (100 ETH)

Private Keys

(0) 0xbe364d0dba6e8f82803c4b5e1da95517d9c4c0decb970e9c56d78255ee7dfafd
(1) 0xf36c12db3406606e8ebdf58bc80c1bebac83ef9cd53ae5c3203a19190bf5cf56
(2) 0xab8ca7eb1f16eccfcd0b3171975242c531f43459a1904e8152179d92db87c362
(3) 0x9e750c1d174b0eb348f8c3d09ee758cc5b6b76dcf8bd1a14b4e8a4593b002e02
(4) 0x229a9c6de951711b6deb71f5863bca00c867121d1b3f495308ca7a045024faa7
(5) 0x178990f3a2a9aca7c30fe844fa6edc2f55d6d601ab054f231f21ad654dd692fe
(6) 0x916151a1e0534a89facde5b831d28036ac786f49254786ffd0697ade2711a105
(7) 0x4b18c11d167cf8e9454db149ac0ee07edde5b9058d0832c0f0ac41556f62aab1
(8) 0x4c1308cc0135267be2ba08c4febf9e592348e729556d7d82f5836360e3570ca3
(9) 0x4b4ac33297cc8cb5ab480ee24749856ac899cb5d34722118ce001b6f4760a0ad

HD Wallet

Mnemonic: meat flavor lab junior flight outer danger jungle rapid list hockey term
Base HD Path: m/44’/60’/0’/0/{account_index}

Gas Price

20000000000

Gas Limit

6721975

9007199254740991

Call Gas Limit

Listening on 127.0.0.1:8545

升級truffle
由於Ethereum仍在快速發展階段,開發工具也不斷地在更新。要安裝新版本的truffle時,需要先反安裝後再重新安裝。輸入以下命令即可重新安裝truffle:

npm uninstall -g truffle
npm install -g truffle

****如果度能升級,表示電腦尚未安裝Node.js需先去安裝~~

C:\Users\hi tai\hello\contracts>truffle version
Truffle v5.11.5 (core: 5.11.5)
Ganache v7.9.1
Solidity – 0.8.21 (solc-js)
Node v20.12.2
Web3.js v1.10.0

建立第一個智能合約專案
開啟另一個命令列視窗,輸入以下命令以建立專案:

4.

$ mkdir hello
$ cd hello
$ truffle init
如此一來,我們已建立好第一份智能合約專案了。

在hello/資料夾下,可以看到contracts/資料夾,裡面放的是這個專案所包含的所有solidity程式。我們在contracts/資料夾中額外建立一個HelloWorld.sol檔案。(或者也可以用truffle create contract HelloWorld命令來建立)

HelloWorld.sol檔案內容如下

//SPDX-License-Identifier: MIT

pragma solidity ^0.8.21;

contract HelloWorld {

    function sayHello() public pure returns (string memory) {

        return (“Hello World”);

    }

}

之後,可以編譯

5.

truffle compile

***正確編譯,要無警告訊息,如下所示:

C:\Users\hi tai\hello\contracts>truffle compile

Compiling your contracts…

Compiling .\contracts\helloworld.sol
Compiling .\contracts\helloworld.sol
Artifacts written to C:\Users\hi tai\hello\build\contracts
Compiled successfully using:

  • solc: 0.8.21+commit.d9974bed.Emscripten.clang

C:\Users\hi tai\hello\contracts>

部署
為了將寫好的solidity程式碼部署到區塊鏈上,我們需要做一些相應的設定。

遷移
truffle框架中提供了方便部署合約的腳本。我們可以在migrations/目錄下維護這些腳本。這些腳本除了能部署合約,也可以用來遷移合約中的資料。建立migrations/2_deploy_contracts.js檔案(這些腳本使用Javascript撰寫),將內容修改如下

var HelloWorld = artifacts.require(“HelloWorld”);

module.exports = function(deployer) {
deployer.deploy(HelloWorld);
};
這些migration檔案會依照檔案的編號來執行。例如2_就會在1_之後執行。檔案後面的文字只為協助開發者理解之用。

在檔案中可使用artifacts.require語句來取得準備部署的合約。使用deployer.deploy語句將合約部署到區塊鏈上。這邊HelloWorld是contract的名稱而不是檔名。因此可以用此語法讀入任一.sol檔案中的任一合約。

當檢察上述migrations目錄下的2_deploy_constracts.js內容無誤,

即可進行下一步

現在執行truffle migrate命令

來將智能合約上到EVM上

(當然要先開一cmd執行步驟 3. )

須注意,windows 內的是使用 truffle-config.js

mac 或 linux 是使用truffle.js

區塊鍊上熟悉之後,可以註冊 MAX Coin 交易所

附上連結 : https://max.maicoin.com/signup?r=65d54fea

點連結享有註冊交易減少20%手續費優惠

參考資料

返回頂端