区块链环境装配与私链创世块的创建

首先搭建开发环境

下载geth并安装,这里使用的是安装版的

windows安装geth说明:https://github.com/ethereum/go-ethereum/wiki/Installation-instructions-for-Windows

启动环境,geth是一个以太坊的客户端

go版本

安装nodejs https://nodejs.org/en/download/

使用最高权限运行

npm install -g truffle

npm install -g solc

npm install -g --production windows-build-tools 这个可能安装时间非常长

npm install -g ethereumjs-tx

npm install -g web3 //这个可以安装 也可以不安装

 

或者安装

npm install -g truffle

npm install -g ethereumjs-testrpc

应该也可以使用

运行testrpc这个命令是给你创建10个钱包和钱包密码

 

创建一个私链 参考地址:https://github.com/ethereum/go-ethereum/wiki/Private-network

首先,创建一个名字为genesis.json的文件,放在一个自定义个路径下

使用命令 geth --datadir D:/vs_Code genesis.json 表示创建创世块

// D:/vs_Code表示自定义的路径,贴过来路径的话记得修改这个斜线

 

上图就是genesis.json里面的内容,这个是拷过来的

使用 geth --datadir D:/vs_Code --networkid 15 来启动,(后面加上console表示启动后) 初始化只需要做一次就好,以后的话就是用这个命令来运行

可以参考这个资料 https://github.com/ethereum/go-ethereum/wiki

私链就创建好了

 

使用软件VS code 免费版的 / 使用Solidity / 使用Atom

 

 

利用geth创建一个以太坊(开发者)网络节点(这是测试的)

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

运行了这个命令后会出现这样的一个效果

命令参数说明:

--dev 启用开发者网络(模式),开发者网络会使用POA共识,默认预分配一个开发者账户并且会自动开启挖矿。

--datadir 后面的参数是区块数据及秘钥存放目录。

第一次输入命令后,它会放在当前目录下新建一个testNet目录来存放数据。

console 进入控制台

2>> test.log 表示把控制台日志输出到test.log文件

为了能更好的理解这个,我们再开一个命令行终端,实时的显示日志

tail -f test.log

接下来准备一个账户(开发者账户)

在刚刚运行的geth --datadir testNet --dev console 2>> test.log这个命令的提示框里面进行操作

> eth.accounts

由于我之前已经创建过两个账户了,所以这里会显示2个账户

//注:我们每个电脑只能拥有一个具有大量gas的账户,但是可以拥有多个带有密码的账户

也可以使用personal.listAccounts查看账户

 

我们看一下账户里面的余额

使用命令 > eth.getBalance(eth.accounts[0])

 

由于我有两个账户,我觉得这个中括号里面的就是账户的下标,所以我试了一下,可以看到显示为0,那我们再来试试eth.getBalance(eth.accounts[3])

 

我们每个电脑只能创建一个有免费gas的账户

创建账户

由于这个账户给的gas太多,我们在执行我们代码的时候很难看到这个gas的改变,所以我们要自己创建一个账户

使用命令 > personal.newAccount("RenBowen") //下标为1

personal.newAccount("RenBowen123") //下标为2

//这里我使用的是我自己的名字作为密码,系统默认给你账号

我们可以使用刚刚那个eth.getBalance(eth.accounts[下标从0开始]

 

有了账户以后呢 ,我们从那个测试账户上转一些以太币给我们创建的用户(没有gas就无法部署我们的合约,就比如不给你工资你会干活吗?)

使用eth.sendTransaction({from: '0xd9d1d93b326539d4b86cc90b10b75a195b845cda', to: '0x5b7776f0f0c9a0441af16798e8db00c964a5fbb0', value: web3.toWei(1, "ether")})

使用 eth.getBalance(eth.accounts[1]) 查看我们当前用户的余额

 

使用tail -f test.log可以查看我们的挖矿记录

 

解锁账户

在部署合约前我们首先需要解锁我们的账户(就像银行转账需要输入密码一样)

使用命令: personal.unlockAccount(eth.accounts[1],"RenBowen");

执行完后会返回一个true

 

miner.start() 开始挖矿

miner.stop() 停止挖矿

这样我们就成功解锁了我们的账户,接下来进行编码

 

创建项目 VS code

新建一个文件夹,然后确保自己安装了那个node 以及 npm的那几个

在刚刚创建的文件夹里打开命令窗口, 使用truffle init初始化项目

这样就创建成功了,然后用VS code 打开就行了

如果需要创建基于web项目的智能合约 使用truffle init webpack

编译项目 : truffle compile

truffle默认只会编译最后一次编译成功之后被修改过的合约文件, 这是为了减少比必要的编译.设置"--all"选项,可以强制编译所有文件

部署/迁移 : truffle migrate

这条命令将会执行在项目migrations目录中的所有"migrations".最简单的情况是所有的"migrations"只是一个被管理的部署脚本集合.如果执行过"migrations", "truffle migrate"只会启动那些在先前没有执行过的,新创建的"migrations".加入没有新的"migrations"存在,"truffle migrate"不会执行任何任务.可以使用"--reset"选项强制所有"migrations"重新执行.当用于本地测试时,请确保TestRPC已经安装并在执行"migrate"之前运行起来.

编码我们使用VS code这个编码器

编码学习地址 :

http://wiki.jikexueyuan.com/project/solidity-zh/introduction-smart-contracts.html solidity中文网址

http://truffleframework.com/docs/getting_started/installation truffle官方网址

资料:

 

centos参照 https://www.cnblogs.com/liujitao79/p/8431639.html

 

Atom创建项目

首先桌面上创建一个文件夹 (装一波,我也使用黑窗口)

cd Desktop 到桌面

mkdir ContractDemo 创建文件夹

cd ContractDemo 进入这个文件夹

还是执行truffle init 这个命令

atom ./ 将刚才创建的项目用atom打开

 

操作效果图不能上传,第一篇博客,见谅。。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值