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()

 

 合约部署成功,调用成功。

相关文章
相关标签/搜索