企业网站用什么数据库,网页升级紧急通知写作,开发网站网络公司,常见的网络营销方式有哪些1. 测试网络 可以使用以下命令将以太坊的 Go 语言客户端 Geth 连接到测试网络
[admindaolian ~]$geth --testnet
下图显示了示例输出#xff0c;该图显示了所选网络的类型以及有关区块链下载的其他各种信息。 Geth 客户端的下载地址如下#xff1a;
https://geth.ethereum…1. 测试网络 可以使用以下命令将以太坊的 Go 语言客户端 Geth 连接到测试网络
[admindaolian ~]$geth --testnet
下图显示了示例输出该图显示了所选网络的类型以及有关区块链下载的其他各种信息。 Geth 客户端的下载地址如下
https://geth.ethereum.org
用于测试网络的区块链浏览器可从以下网址获得
https://ropsten.etherscan.io
该浏览器可用于跟踪以太坊测试网络中的交易和区块。
此外也有其他测试网络可用如 Frontier、Morden、Ropsten 和 Rinkeby。可以向 Geth 发出命令行标志以连接到所需的网络 2. 建立以太坊私有网络 私有网络允许创建一个全新的区块链这与测试网络或主网都有所不同因为它使用了自己的创世块和网络 ID。为了创建私有网络需要 3 个组件
网络 ID创世文件存储区块链数据的数据目录。虽然对数据目录并未做严格的要求但是如果系统上已经有多个处于活动状态的区块链则应指定数据目录以便将单独的目录用于新的区块链。 在主网上以太坊 Geth 客户端默认情况下能够发现引导节点Boot Node),因为它们在 Geth 客户端中被硬编码并自动连接但是在私有网络上需要通过指定适当的标志和配置来设置 Geth,以便它能够被其他对等方发现或能够发现其他对等方。 除了上面提到的 3 个组件最好还要禁用节点发现Node Discovery) ,以使互联网上的其他节点无法发现你的私有网络这样它就是安全的。如果其他网络恰好具有相同的创世文件和网络 ID则它们可能会连接到你的私有网络。具有相同网络 ID 和创世区块的机会非常少尽管如此还是建议禁用节点发现功能。
2.1 网络 ID 网络 ID 可以是 1 和 3 以外的任何正数因为 1 和 3 已经分别被以太坊主网和测试网使用。在下面的示例中为私有网络选择的网络 ID 是 786。
2.2 创世文件 创世文件Genesis File) 包含自定义创世区块所需的必要字段这是网络中的第一个区块并且不指向任何先前的区块。以太坊协议将执行检查以确保互联网上没有其他节点可以参与共识机制除非它们具有相同的创世区块。网络 ID 通常用作网络的标识。 以下显示了一个自定义的创世文件该文件在后面的示例中会用到 另外可以通过指定收款人的地址和 Wei 数量的方式来预先分配以太币但是一般来说并不需要这样做因为在私有网络上可以非常快地开采以太币。 要预先分配以太币可以将其添加到创世文件中如下所示
“alloc”:{0xcf61d213faa9acadbf0d110e1397caf20445c58f:{balance:100000},
}
现在来看看这些参数的含义
nonce (随机数这是一个 64 位哈希值用于证明 PoW 已充分完成。该参数可与 mixhash 参数结合使用。timestamp 时间戳这是该区块的 UNIX 时间戳用于验证区块的顺序并用于难度调整。例如如果生成区块的速度太快则难度会更高。parentHash (父哈希由于创士块没有父代因此对于该区块来说该参数的值始终为 0。extraData (额外数据该参数允许将 32 位任意值与区块一起保存。gasLimit (燃料限制这是每个区块燃料消耗的限制。difficulty (难度此参数用于确定挖矿目标它代表证明 PoW 所需的哈希难度级别。mixhash (混合哈希这是一个 256 位哈希可与 nonce 结合使用以证明已花费了足够数量的计算资源来满足 PoW 要求。coinbase (币基这是成功挖矿后将挖矿奖励发送到的 160 位地址。alloc (分配此参数包含预分配的钱包列表。它采用长十六进制格式的帐户然后将余额分配到其中。config(配置此部分包括各种配置信息这些信息将定义网络 ID 和区块链硬分叉区块编号。在私有网络中不需要使用此参数。
2.3 数据目录 这是用于保存以太坊网络的区块链数据的目录。例如在下面的示例中该目录是~/etherprivate/。 在 Geth 客户端中还指定了许多参数以启动或进一步微调配置 私有网络。
2.4 标志及其含义
以下是与 Geth 客户端一起使用的标志Flags):
--nodiscover:此标志禁用了节点发现可确保如果碰巧有相同的创世文件和网络 ID 时无法自动发现该节点。--maxpeers:此标志用于指定允许连接到私有网络的对等者Peers) 的数量。如果将其设置为 0则将没有人能够连接这在某些情况下例如私有测试可能是比较理想的。--rpc:用于在 Geth 中启用 RPC 接口。--rpcapi:此标志采用允许使用的 API 列表作为参数。例如Eth 和 Web3 将通过 RPC 启用 Eth 和 Web3 接口。rpcport:这将设置 TCP RPC 端口如 9999。
2.5 静态节点 如果需要连接到一组特定的对等方则可以将这些节点添加到保存 chaindata 和 keystore 文件的文件夹。
3. 启动私有网络
启动私有网络的初始命令如下所示 这将产生如下图所示的输出 如下图所示这将为正在运行的私有网络会话打开交互式 JavaScript 控制台。 挖矿开始后将首次生成有向非循环图Directed Acyclic Graph,DAG),并产生类似于下图所示的输出 一旦 DAG 生成完毕即可开始挖矿Geth 将产生类似于下图所示的输出。在这里可以清楚地看到 Mined 5 blocks back...(已开采 5 个区块这类的消息。 查看可用对象列表有一个通用技巧那就是依次按下键盘上的空格键两次和 Tab 键两次。这样将显示可用对象的完整列表如下图所示 此外输入命令后可以通过按下两次 tab 键自动完成命令。如果按下两次 Tab 键则还会显示可用方法的列表如下图所示 除了上面提到的命令外为了获得对象可用方法的列表在输入命令后还可以输入分号。下图就是一个示例它显示了适用于 net 的所有方法的列表。 3.1 在私有网络上运行 Mist
该消息如下图所示 这将允许连接到正在运行的私有网络 Geth 会话并提供所有功能例如通过 Mist 在私有网络上进行钱包、帐户管理和合约部署等操作如下图所示 一旦启动以太坊 Mist 浏览器它将显示如下图所示的界面以红底白字明确表示它正在 PRIVATE-NET (私有网络 模式下运行。 3.2 使用 Mist 部署合约 作用 Mist 部署新合约非常容易。Mist 提供了一个界面可以在访界面中以 Solidity 语言编写合约然后将其部署在网络上。 接下来我们将进行一项简单合约的练习该合约可以对输入参数执行各种简单的算术计算。以下显示了使用 Mist 部署此合约的步骤。 在 Mist 浏览器的 CNTRACTS (合约部分下将上述源代码复制到其中如下图所示 在左侧复制了源代码之后一旦验证通过并且未检测到语法错误则部署合约的选项将显示在右侧的下拉菜单中它显示的是 SELECT CONTRACT TO DEPLOY(选择要部署的合约。只需选择合约然后单击屏幕底部的 Deploy (部署按钮即可。 Mist 将向你询问帐户密码并显示一个如下图所示的窗口。 输入帐户密码然后单击 SEND TRANSACTION (发送交易以部署合约。 成功部署和挖矿后合约将出现在 Mist 的交易列表中如下图所示 合约可用后可以通过 Mist 使用可用的函数进行交互。这些函数显示在右侧下拉列表中如下图所示 在上图中可以看到 READ FROM CONTRACT (从合约中读取 和 WRITE TO CONTRACT (写入合约 选项。在右侧可以看到合约公开的函数。选择所需的函数后即可为该函数输入适当的值并在 Execute From (执行自 下选择帐户然后单击 EXECUTE (执行 按钮以执行交易这将导致调用选定的合约函数。
下图显示了此过程 如上图所示为该帐户输入适当的密码然后单击 SEND TRANSACTION (发送交易 将该交易发送到合约。
3.3 私有网络/本地以太坊的区块浏览器 本地以太坊区块浏览器是一个有用的工具可用于浏览本地私有网络区块链。 注意 Github 上有一个开源的免费区块浏览器网址如下 https://github.com/etherparty/explorer 该区块浏览器的安装步骤如下
1在 Linux Ubuntu 计算机或 macOS 系统上运行以下命令
[admindaolian ~]$git clone https://github.com/etherparty/explorer 这将显示类似于以下内容的输出
Cloing into explorer ...
remote: Counting objects: 269, done.
remote: Total 269 (delta 0), reused 0 (delta 0),pack-reused 269
Receiving objects: 100% (269/269),59.41 KiB | 134.00 KiB/s, done.
Resolving deltas: 100% (139/139), done.
(2) 将目录更改为 explorer 并运行以下命令
[admindaolian ~]$cd explorer/
[admindaolian ~]$npm start 注意 如果正在使用的计算机上需要安装 Node.js, 则可以查看官方网站上的安装说明并下载节点。官方网址如下 https://nodejs.org/en/ 一旦安装完成可能需要接近 5 分钟将显示类似于下图所示的输出其中将启动以太坊浏览器的 HTTP 服务器。 3Web 服务器启动后应使用以下命令启动 Geth:
[admindaolian ~]$geth --datadir .ethereum/privatenet/ --networkid 786 --rpc --rpccorsdomain http://localhost:8000 也可以使用以下命令
[admindaolian ~]$geth --datadir .ethereum/privatenet/ --networkid 786 --rpc --rpccorsdomain *
4成功启动 Geth 之后导航到 TCP 端口 8000 上的 localhost,如下图所示以便访问本地以太坊区块浏览器。 也可以使用 Python 或任何其他适当的提供程序来启动 Web 服务器。当使用 Python 时可以启动一个快速的 Web 服务器如以下代码所示
[admindaolian ~]$python -m SimpleHTTPServer 7777
Serving HTTP on 0.0.0.0 port 7777 ... Geth 客户端将需要使用适当的参数启动否则可能会发生错误如下图所示 重新启动 Geth 以允许 rpccorsdomain:
[admindaolian ~]$./geth --datadir ~/etherprivate/ --networkid 786 --rpc --rpcapi web3,eth,net,debug,personal --rpccorsdomain * 注意 * 表示任何 IP 都可以连接也可以使用计算机的本地 IP 地址