1703876251
区块链项目开发指南 2.15.4 创建账户
1703876252
1703876253
geth还允许创建账户,即生成密钥和相关地址。为了创建账户,可以使用下面的命令:
1703876254
1703876255
1703876256
1703876257
1703876258
当运行上述命令时,需要输入密码以加密账户。如果忘记密码,就无法访问账户了。
1703876259
1703876260
为了在本地钱包获得所有账户的列表,可以使用下面的命令:
1703876261
1703876262
1703876263
1703876264
1703876265
执行上述命令将打印账户中所有地址的列表。密钥默认存储在—datadir路径中,但用户可以使用—keystore选项指定一个不同的目录。
1703876266
1703876267
1.挖矿
1703876268
1703876269
默认geth不启动挖矿。为了指示geth开始挖矿,只需要提供—mine选项。还有一些与挖矿相关的选项:
1703876270
1703876271
1703876272
1703876273
1703876274
除了—mine选项之外,这里还给出了其他选项。—minerthreads选项用于指定哈希过程中使用的线程总数,默认使用8个线程。etherbase是挖矿赚取的回报存入的地址。账户默认是加密的。所以要访问账户中的以太币,就需要解锁,即解码账户。解密用于解码账户相关私钥。为了开始挖矿,不需要解锁它,因为只需要地址就能存入挖矿回报。可以使用-unlock选项解锁一个或者多个账户。使用逗号分隔地址可以提供多个地址。
1703876275
1703876276
—minergpus用于指定挖矿使用的GPU。为了得到GPU列表,可以使用geth gpuinfo命令。每个GPU需要1~2GB的RAM。默认只使用CPU,而不使用GPU。
1703876277
1703876278
2.快速同步
1703876279
1703876280
在写本书时,区块链大小大约为30GB。如果用户的网速慢,则下载需要花费几个小时甚至几天。以太坊实现了一种快速同步算法,可以更快地下载区块链。
1703876281
1703876282
快速同步(fast synchronization)不下载整个区块,而只下载区块头、交易凭证和最新的状态数据库。因此用户不需要下载和重播全部交易。为了检查区块链的真实性,该算法在每一个已定义的区块序号之后下载一个完整的区块。要更深入地学习快速同步算法,请访问https://github.com/ethereum/go-ethereum/pull/1889。
1703876283
1703876284
为了在下载区块链过程中使用fast sync,用户需要在运行geth的过程中使用—fast。
1703876285
1703876286
出于安全原因,fast sync只在初始同步时运行(即该节点自身的区块链为空时)。在节点成功与网络同步后,fast sync就永远禁用了。作为一项额外的安全功能,如果在枢轴点(pivot point)附近或者之后快速同步失败,就会禁用fast sync,然后节点返回到完整的、以区块处理为基础的同步。
1703876287
1703876288
1703876289
1703876290
1703876292
区块链项目开发指南 2.16 以太坊钱包
1703876293
1703876294
以太坊钱包是一个以太坊UI客户端,它允许用户进行创建账户、发送以太币、部署合约、调用合约方法等操作。
1703876295
1703876296
以太坊钱包与geth捆绑在一起。运行以太坊时,它会尝试发现一个本地geth实例并与之连接;如果它不能发现geth正在运行,它就启动自己的geth节点。以太坊钱包使用IPC与geth通信。geth支持以文件为基础的IPC。
1703876297
1703876298
1703876299
如果在运行geth时更改数据目录,就是也在更改IPC文件路径。所以为了让以太坊钱包发现并连接到geth实例,需要使用—ipcpath选项指定IPC文件位置为其默认位置,这样以太坊钱包可以发现它;否则,以太坊钱包就不能发现它,将启动自己的geth实例。为了发现默认IPC文件路径,运行geth help,它会显示—ipcpath选项的默认路径。
[
上一页 ]
[ :1.70387625e+09 ]
[
下一页 ]