在接下来的10分钟内,你将:
client/server
我们的座右铭是,在学习理论之前就开始练习。所以让我们直接进入连接到Rinkeby测试网络的完全同步的以太坊测试节点的安装!
Geth是一个命令行界面(CLI),一个已编译的二进制文件,程序和客户端,用于运行Go中实现的完整以太坊节点。
我们将使用Geth:
我们可以直接从存储库安装它:
brew tap ethereum/ethereumbrew install ethereum
sudo apt-get install software-properties-commonsudo add-apt-repository -y ppa:ethereum/ethereumsudo apt-get updatesudo apt-get install ethereum
Good luck :)
验证安装:
which geth> /usr/local/bin/geth
geth version> Geth> Version: 1.8.20-stable
确保你运行相同的版本,以便能够执行Rinkeby网络的完全同步,如下一步所述,因为Rinkeby采取了Geth 1.8.20支持的constantinople硬盘。
嗯,魔鬼在细节……但是开始实际上很简单。感谢以太坊开发者。
让我们设置一个新的完全同步的Rinkeby(使用Clique PoA协议的以太坊测试网络)节点。
Rinkeby PoA实施速度更快但安全性显着降低。它更加集中于主网络的共识PoW,它非常适合作为测试网络。Rinkeby设法通过每15秒进行一系列交易来批准一个新的区块。
好的,好的,好的……这些话究竟是什么意思?
在智能合约中将变量“foo”值设置为“foo_value_123”?那是一笔交易。
geth --rinkeby --datadir=~/.gophersland_ethereum_r1 --port=30304 --cache=2048 --rpc --rpcport=8546 --rpcapi=eth,web3,net,personal --syncmode=fast
上面的命令将:
~/.gophersland_ethereum_r1
。默认目录是: ~/.ethereum
等待几个小时,直到区块链完全同步。
截至9月24日的当前区号为:3039786。在我的AMD Ryzen 5 2600,3.4Ghz上,同步过程耗时3小时。哦,是的,我有一台新的游戏PC!
同时你可以在Twitter上关注GophersLand或者准备晚餐,也可以吃早餐,去健身房……让我们说,区块链不是最快的数据库:)
最终打印的消息将是:
INFO [
恭喜,你现在不到10分钟即成为区块链革命的一部分!
所有以太坊帐户及其密钥都存储在名为“密钥库”的目录中。默认情况下该目录为空,因为我们尚未创建自己的帐户!
enchanter@lukas-gaming :~$ ls -la ~/.gophersland_ethereum_r1/ drwx------ 4 enchanter enchanter 4096 sep 24 15:26 .drwxr-xr-x 18 enchanter enchanter 4096 sep 24 11:51 ..drwx------ 4 enchanter enchanter 4096 sep 24 15:26 gethsrw------- 1 enchanter enchanter 0 sep 24 15:26 geth.ipcdrwx------ 2 enchanter enchanter 4096 sep 23 09:54 keystore enchanter@lukas-gaming :~$ ls -la ~/.gophersland_ethereum_r1/keystore/ drwx------ 2 enchanter enchanter 4096 sep 23 09:54 .drwx------ 4 enchanter enchanter 4096 sep 24 15:26 .. ``` #### 帐户 要创建新帐户,请执行以下已熟悉的geth cmd。
geth –datadir=~/.gophersland_ethereum_r1 account new
系统将提示你输入密码(这是你的SUPER SECRET PASSWORD)。这是解密与你的新以太网地址关联的新生成的私钥所必需的,因为它允许你稍后使用它来对区块链上的交易进行签名。请注意它,因为我们稍后会需要它。 但是不要担心,如果你忘了它,无论如何这只是一个测试网络。
enchanter@lukas-gaming :~$ ls -la ~/.gophersland_ethereum_r1/keystore/ drwx—— 2 enchanter enchanter 4096 sep 23 09:54 .drwx—— 4 enchanter enchanter 4096 sep 24 15:26 .. enchanter@lukas-gaming :~$ geth –datadir=~/.gophersland_ethereum_r1 account new INFO [09-24|15:36:33.566] Maximum peer count ETH=25 LES=0 total=25 Your new account is locked with a password. Please give a password. Do not forget this password. Passphrase: Repeat passphrase: Address: {ceee57f2b700c2f37d1476a7974965e149fce2d4} enchanter@lukas-gaming :~$ ls -la ~/.gophersland_ethereum_r1/keystore/ drwx—— 2 enchanter enchanter 4096 sep 24 15:36 .drwx—— 4 enchanter enchanter 4096 sep 24 15:26 ..-rw——- 1 enchanter enchanter 491 sep 24 15:36 UTC–2018-09-24T13-36-43.069452577Z–ceee57f2b700c2f37d1476a7974965e149fce2d4
哇噢! 我新的以太坊地址还活着:`ceee57f2b700c2f37d1476a7974965e149fce2d4`。 你通常会遇到前缀为“0x”的地址,以指示地址编码,HEX 。 密钥文件的最新格式为:`UTC--<created_at UTC ISO8601>-<your address in hex`编码。列出时的帐户顺序是词典,但作为timepamp格式的结果,它实际上是按照创建的顺序。 如果你对文件内部的内容感到好奇,请随意打开它!你会看见: - 地址:你的新十六进制地址 - 加密:一堆数学变量负责以加密形式表示你的私钥,现在不用担心这个魔法 有趣的说明:帐户生成在离线模式下进行,不需要同步的区块链节点。 好奇如何从技术角度在离线模式下生成唯一地址? Spoiler:这是因为地址是你公钥的哈希值,它基于你的唯一私钥。 好吧,我有一个新的灵魂以太坊帐户,我的余额是什么,我如何存放一些测试以太 ? 说到以太......实际上是什么? #### Ether 以太是为以太坊网络提供动力的加密货币。它被用作一个价值单位,用于支付矿工验证,附加和持久化交易到集体数据库。但主要是它是一种防止垃圾邮件的技术,因为每个成功开采的区块矿工都会获得5(自上个月“仅”3)ETH奖励。是的,9月24日,每15秒,当前价格为600美元。这不是一件坏事。 ### 如何从以太坊基金会免费获得8ETH的交易 #### 检查帐户余额 让我们先确保我们的账户余额为0,除非有人已经设法从他们的善良中发送一些以太。 Geth提供了一个JavaScript控制台,可以附加到可执行二进制文件,以方便地与区块链交互。我们可以通过指定Geth启动后公开的套接字文件来连接它。套接字文件对于“同一台机器上的进程间通信”非常有用,即IPC。 在Geth程序运行时,你可以在默认数据目录中找到此文件:
enchanter@lukas-gaming :~$ ls -la ~/.gophersland_ethereum_r1/ drwx—— 4 enchanter enchanter 4096 Sep 24 15:44 .drwxr-xr-x 18 enchanter enchanter 4096 Sep 24 15:47 ..drwx—— 4 enchanter enchanter 4096 Sep 24 15:44 gethsrw——- 1 enchanter enchanter 0 Sep 24 15:44 geth.ipcdrwx—— 2 enchanter enchanter 4096 Sep 24 15:47 keystore
当你的区块链节点仍在运行时,让我们使用另一个终端中的“geth attach”命令与Rinkeby网络进行交互。确保将绝对路径传递给IPC文件,否则会出错。
enchanter@lukas-gaming :~$ geth attach ipc:/home/enchanter/.gophersland_ethereum_r1/geth.ipc Welcome to the Geth JavaScript console! instance: Geth/v1.8.15-stable-89451f7c/linux-amd64/go1.10.1coinbase: 0xceee57f2b700c2f37d1476a7974965e149fce2d4at block: 3044891 (Mon, 24 Sep 2018 16:42:36 CEST) datadir: /home/enchanter/.gophersland_ethereum_r1modules: admin:1.0 clique:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0 > eth.accounts[“0xceee57f2b700c2f37d1476a7974965e149fce2d4”] > eth.syncingfalse > eth.getBalance(“0xceee57f2b700c2f37d1476a7974965e149fce2d4”)0 `
以太坊基金会有一个非常简洁的程序,称为“Faucet”在线提供,用于将以太网分配给实时请求它的帐户。
请求以太网:
你很有钱……不过只是在测试网络中。
======================================================================
分享一些比特币、以太坊、EOS、Fabric等区块链相关的交互式在线编程实战教程:
汇智网原创翻译,转载请标明出处。这里是 以太坊如何在10分钟内建立一个完全同步的区块链节点
我来评几句
登录后评论已发表评论数()