win7下以太坊基於truffle+ganache開發環境搭建以及智能合約的部署調用

上一篇介紹的是以太坊下基於geth+remix-ide智能合約環境的搭建和部署運行,本篇介紹的是基於truffle+ganache。npm

ganache至關因而geth的圖形化操做界面,相對於純指令操做的geth較爲簡單易上手,而且運行交易和生成區塊的過程一目瞭然。框架

【前期準備】ide

1.Node.js安裝(這一點在上一篇文章中提到過,因此此處不作展現)函數

2.指令輸入:ui

npm install -g solc(安裝智能合約)

npm install -g ganache-cli (安裝ganache開發端)

npm install -g truffle (安裝truffle框架)

3.vscode運行環境spa

 

【智能合約】code

1.新建智能合約server

①新建一個文件夾eg:helloworld,並進入該文件夾下進行指令操做:blog

cd helloworld

②建立一個truffle項目:開發

truffle init

 

 ③將新建的文件夾helloworldzheng總體搬進vscode中:

 

 ④在helloworld下的contracts文件夾中建立新合約,起名helloworld.sol,並輸入以下代碼:

pragma solidity ^0.5.2;

contract helloworld{
    function say() public pure returns(string memory){
        return "hello world";
    }
}

⑤在helloworld下的migrations文件夾中點開1_initial_migrations.js文件,並將其中的"Migrations"參數一概改爲helloworld:

const helloworld = artifacts.require("./helloworld.sol");

module.exports = function(deployer) {
  deployer.deploy(helloworld);
};

⑥回到truffle操做環境裏,對上述文件進行編譯:

注意,必定要進入到contracts文件夾下進行編譯操做,不然會報錯找不到對應合約。

 

 編譯成功。

2.鏈接ganache

①運行ganache

 

 ②智能合約與ganache鏈接:

回到vscode,打開truffle-config.js文件:

在module-exports模塊中輸入以下內容:

 

 以後咱們回到ganache,打開設置,點擊server,看到以下操做面,其中上圖中的host,port,network_id參數都是根據ganache中對應的參數填寫的:

 

③準備好以後,能夠部署合約:

回到truffle操做,指令輸入:

truffle migrate

若是按照上述操做一步步來,那麼部署成功咱們能夠看到ganache下的區塊增長了:

 

 ④接下來能夠開始嘗試調用合約:

回到truffle操做指令,輸入以下指令進入操做臺:

truffle console

 

 若是順利進入操做臺便可以進行合約函數的調用:

輸入指令:

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

console中預載了truffle-contract函數庫,因此能夠直接對合約的函數進行操做。

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

接下來能夠調用helloworld合約中咱們定義好的say()函數了:

輸入指令:

contract.say()

 

 合約部署成功,調用成功。

相關文章
相關標籤/搜索