Faquir

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如果想要试试在以太坊上的操作,可以直接在官网下载个客户端,然后选择网络为私有网络即可。

此时,你就可以通过客户端创建账户、挖矿、转账、部署智能合约、调用智能合约等等。

如果希望命令行部署,可以接着往下看。notice:下面内容讲的是geth钱包部署。

系统环境

Mac10.10.5(ubuntu系统下类似)

安装方式:

一、通过Homebrew安装

brew tap ethereum/ethereum
brew install ethereum
可以通过brew install ethereum --devel命令安装开发分支。

二、通过源码安装

首先,下载项目:git clone https://github.com/ethereum/go-ethereum
安装所需依赖:brew install gmp go
最后构建geth:
cd go-ethereum
make geth

geth --help 查看是否成功安装

三、通过geth运行以太坊

1. 创建一个私有网络的目录,并进入该目录

mkdir test-geth

cd test-geth

2. 在私有网络目录下新建一个文件genesis.json,此为创世快配置文件,内容如下:

{ "config": { "chainId": 15, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "coinbase" : "0x0000000000000000000000000000000000000000", "difficulty" : "0x40000", "extraData" : "", "gasLimit" : "0xffffffff", "nonce" : "0x0000000000000042", "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "timestamp" : "0x00", "alloc": { } }

 将此内容拷如genesis.json中。

里面的数据还没有全部搞清楚,可以试着修改一下。 

3. 执行初始化命令,生成初始化数据。

geth --datadir data0 init genesis.json,数据在data0目录中,

4. 启动私有网络,geth --datadir ./data0 --networkid 11 --rpc --rpcaddr 99.1.187.159 --rpcport 8545 console,这里的参数可以自己根据需要指定。我在后续用sdk的过程中发现不指定地址连接不到,还不知道为什么,就先指定了。

好了,现在私有网络就启动了    :(  go的版本好低。。。  

四、使用geth尝试以太坊

1. 查看已有账户

eth.accounts,当然,现在还没有账户

2. 新建账户

personal.newAccount(),连续输入两次相同密码就成功创建了一个账户,展示的就是对外地址

那么私钥在哪?在data0/keystore目录下,格式为

3. 查询账户余额

eth.getBalance(eth.accounts[0]),刚创建的账户,余额为0

4. 挖矿,给账户挣钱

miner.start(2); admin.sleepBlocks(1); miner.stop();

这里需要说明一下,miner.start(2)是两个cpu挖矿的意思,admin.sleepBlocks(1)是指挖了一个矿就停下,图里面有一个锤子🔨,miner.stop()是指停止挖矿。如果是第一次执行,那么需要等待DAG创建的过程,比较漫长,等待100percents就可以了,中间不要随便退出。在此查询余额就发现你的账户里已经有钱了。

5. 转账

新建一个账户,并给他转钱。

eth.sendTransaction({from:eth.accounts[0], to:eth.accounts[1], value:100})

是的,如图所示,出错了,显示账户锁定了,这是因为他有密码,不能随便转,那我们先打开它。

personal.unlockAccount(eth.accounts[0])

再转一次就成功了

你在查询余额的时候可能发现还是没变化,那是因为还没有挖矿打包区块,所以再挖一次矿就可以了。

然后你可以多试试geth的命令,熟悉一下了。

posted on 2018-01-29 17:10  Faquir  阅读(1248)  评论(0编辑  收藏  举报