暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

以太坊智能合约-环境搭建与配置

烯分数据 2018-12-19
265

1. 安装VirsualBox

(https://www.virtualbox.org/wiki/Downloads)

选择相应版本:


2.安装Juice Box

(http://jpadilla.github.io/juicebox/)


3.使用VirtualBox打开Juice Box

将CPU设置为2,RAM设置为2048 MB,点击“导入”


4.启动虚拟机

使用Ctrl + Alt + T打开Terminal


5.输入sudo apt-get update 更新包


6.更新node版本

打开https://github.com/creationix/nvm,安装nvm。在Terminal中输入 

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

输入nvm install v8

输入nvm alias default v8


7.安装truffle

输入npm install -g truffle


8.安装VSCode

(https://code.visualstudio.com/download)

安装完成后,输入code打开VSCode,安装solidity插件。


9.安装ganache-cli

npm install -g ganache-cli

ganache-cli用于在本地run一个假的以太坊blockchain,方便快速部署、测试智能合约。


10.一个简单的例子:

创建文件夹mkdir example

cd example

truffle unbox metacoin (MetaCoin智能合约实现了简单的发币机制,通过该例子学习truffle整体架构,以及如何与以太坊blockchain上智能合约进行交互)

example结构如图:

在truffle.js中输入

networks: {  

   development: {  

        host: "localhost",  

        port: 8545,  

        network_id: "*" // 匹配任何network id  

    }  

如图:

truffle主要命令:

  • truffle compile

  • truffle migrate

  • truffle console

  • truffle test

输入truffle compile,编译智能合约

使用Ctrl + Alt + T新打开一个Terminal,输入ganache-cli 打开本地blockchain测试网络

在另一个Terminal中输入truffle migrate,将合约部署在blockchain上


部署成功后,使用truffle console与blockchain进行交互

web3.js:一个JavaScript和区块链交互的桥梁。在Terminal中输入web3. 按两下Tab键,可看到所有可调用的方法

输入web3.eth.accounts可看到当前blockchain中所有的账户

使用web3与已部署的MetaCoin合约交互:

MetaCoin.deployed().then(contract => {metacoin = contract})

调用合约中getBalance方法:

使用web3.eth.accounts查看所有账户,并复制第一个账户,第一个账户为部署合约的账户。

metacoin.getBalance.call('第一个账户').then((result) => { console.log(result) })

至此,我们已经可以和测试网络上MetaCoin合约进行交互。

 


文章转载自烯分数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论