以太坊开发 | 环境准备

 

这篇写于我第一次尝试部署智能合约之时。首先配置好了geth环境、搭建了一条私链。然后了解了一下智能合约的开发工具。感谢本篇引用到的网络教程们,是这些教程让开发对新手友好。也希望我的文章能有那么一点点作用。

操作系统:macOS Mojave 10.14

 

1. 环境准备:geth客户端和以太坊账户

先抛开truffle、solidity这类合约相关的内容不谈,我们首先要做的是:(1)安装并启动geth客户端,(2)搭建测试链并设置好账户。

 

1.1| geth安装

brew tap ethereum/ethereum
brew install ethereum

运行 brew tap ethereum/ethereum 报错:

remote: Repository not found.
fatal: repository 'https://github.com/ethereum/homebrew-thereum/' not found
Error: Failure while executing; `git clone https://github.com/ethereum/homebrew-thereum /usr/local/Homebrew/Library/Taps/ethereum/homebrew-thereum --depth=1` exited with 128.

根据网上文章判断是在terminal手动输入的用户名密码与之前本地保存过的不一致。尝试:

1. 删除掉“钥匙串访问”中所有与Github有关的条目。未果。

2. 删除掉~/.ssh下的github_rsa和github_rsa.pub。成功。看来是本地不知什么时候保存的ssh与手动输入的账户不匹配导致报错。

 

1.2| 启动geth客户端

geth --datadir testNet --dev console 2>> test.log

--datadir testNet表示将区块数据及密钥存放在testNet文件夹(在当前目录新建的文件夹)中;

--dev表示启动的是开发者网络,启动后会自动分配一个账户给当前区块链;

console表示进入控制台模式;

2>> test.log表示将控制台日志输出到test.log中。test.log与启动节点后生成的testNet文件夹在同一目录下,是平级而不是包含关系。

 

* 新开一个终端窗口,跳至test.log所在的文件夹下,输入以下语句可以看到log信息。

tail -f test.log

 

1.3| 新建一个能够部署智能合约的账户

详见智能合约开发环境搭建及Hello World合约,参考“准备账户-》创建账户+给新账户转账+解锁账户”这部分即可。写得很清晰。

以上所部署的账户信息在退出geth后仍旧会保留。

至此准备工作完成,可以准备写智能合约啦。

 

2. 工具介绍:truffle

介绍合约开发工具们。

 

2.1| 什么是Solidity?

使用最多的以太坊智能合约语言。可选的还有Serpent(类Python),III(类Fortran)。Solidity类似Java。

 

2.2| 什么是Truffle?

Truffle是一套开发框架,针对基于以太坊Solidity语言的开发。Truffle本身基于Javascript。

方便智能合约的开发、测试、部署,高度集成。

 

2.3| 什么是Ganache?

Ganache(戳这里下载dmg安装包)是一个应用程序,与truffle配套使用。其因有图形界面而被建议取代之前的testrpc。安装好后要以开发者模式打开,即:进入finder-》应用程序,找到Ganache.app右键,然后按住shift后点击“打开”。

打开后点击“Quick Start”程序会自动建立10个账号,每个账号拥有100个以太币。这些账号和以太币都是假的(仅运行在内存),每次重新打开会重新生成。

 

2.4| 什么是Browser-Solidity/Remix?

Remix是Solidity官方推荐的编译器,有网页版和本地编译版(安装方法)。

网页版Remix无需本地安装Solidity便可使用,适合新手。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值