区块链从入门到精通 3.pptx

返回 相似 举报
区块链从入门到精通 3.pptx_第1页
第1页 / 共17页
区块链从入门到精通 3.pptx_第2页
第2页 / 共17页
区块链从入门到精通 3.pptx_第3页
第3页 / 共17页
区块链从入门到精通 3.pptx_第4页
第4页 / 共17页
区块链从入门到精通 3.pptx_第5页
第5页 / 共17页
点击查看更多>>
资源描述:
区块链入门到精通 第3课,法律声明,以太坊网络 以太网网络类型 构建本地私有网络,自定义创世区块 在本地私有网络上挖矿,以太坊网络,以太网网络的实时的统计数据信息可以在EthS上查看。这网站上包含了许多重要的数据,如当前区块,交易,gas价格等。这页面上展示的节点只是实际网络中的节点的一部分。任何人都可以添加他们自己的节点到这个网站上。 添加方法 https// EtherN 这网站统计了当前和历史上的有关节点的数量,这网站的统计信息包括了主网和测试网络。 etherchain.org 实时区块链统计信息,以太坊网络类型,现在大多数的以太坊项目都运行在以太坊公有链上,以太坊公有链可以为这些项目提供大量的用户,网络节点,货币和市场。但是,也有一些项目更加适合运行在私有链或联盟链(一群值得信赖的伙伴)上。比如,一些垂直领域里面的公司,如银行正在试图使用以太坊建立他们自己的私有区块链平台 公有链世界上任何一个人都可以参与的区块链。用户可以查看,可以发送交易,也可以参与保持数据一致性的运算等。 私有链完全的私有链是指写权限是由一个人或一个单个组织控制的链。私有链的读权限是可以公开的或者是有限度的在一定范围公开的。比如私有链可以用在数据库的管理,公司内部的管理等。 联盟链联盟链是指,数据一致性的运算被预先设定好的几个节点共同控制的链。比如,有15家银行组成了一个财团链,在这个链上的每一个节点的每一次的操作都需要10个节点的共同签名才能被验证。这区快链上的读权限可能是公开的,也有可能是部分公开的。 虽然私有链和联盟链不会和公有链之间有任何的链接,但是它们通常被当做开发者的开发环境,它们也同样对以太坊区块链生态系统做出着不可估量的贡献。,以太坊查看网络状态,查看链接状态 net.listening true net.peerCount 4查看自己的伙伴的网络信息 admin.peers查看自己的网络信息 admin.nodeInfo,以太坊加快下载速度,当以太坊客户端一旦运行,就会自动去下载区块链数据。这下载的速度跟客户端的设置,链接网路的速度,同伴的数量有关。下面是一些可以加快区块链下载速度的选项。 使用geth 使用geth客户端,你可以在命令行中添加一些选项,可以加快区块链数据的下载速度。你可以在命令行中使用fast标志,这样客户端就不会保留过去的交易数据。 但是要注意的是,这个参数,只有在你的客户端没有下载任何区块链数据的情况下才能使用。如果你客户端已经下载了一些数据,那这个就不起作用了。下面是一些具体参数的说明,可以加快你的数据的同步。,以太坊加快下载速度,--fast 这个参数会加快同步的速度,并且显著的降低同步的数据的大小。 --cache1024 调节内存缓存(单位是M),默认是16M,可以根据自己计算机的情况,适当调大这个值,如256, 512, 1024 1GB, 或 2048 2GB --jitvm 开启JIT VM. 整个命令如下面所示的样子 geth --testnet --fast --cache1024 --jitvm console,以太坊静态节点,静态节点 如果有一个节点,你一直想要和它保持链接,那么你可以把那个节点配置成你的静态节点 配置方法 /static-nodes.json把节点信息写入这个文件,格式如下[ “enode//f4642fa65af50cfdea8fa7414a5def7bb7991478b768e296f5e4a54e8b995de102e0ceae2e826f293c481b5325f89be6d207b003382e18a8ecba66fbaf6416c033.4.2.130303“, “enode//pubkeyipport“ ] 使用命令 admin.addPeer“enode//f4642fa65af50cfdea8fa7414a5def7bb7991478b768e296f5e4a54e8b995de102e0ceae2e826f293c481b5325f89be6d207b003382e18a8ecba66fbaf6416c033.4.2.130303“,以太坊构建本地私有网络,在本地私有的测试网络上挖矿,或构建去中心化的应用都要比在公共的测试网络上方便很多。使用geth命令行工具构建本地私有测试网络需要指定以下参数信息自定义genesis文件 自定义数据目录 自定义网络ID (推荐)关闭节点发现协议,以太坊构建本地私有网络,这genesis(创世)区块是区块链的起点,是它的第一块区块,0号区块,唯一一个没有前任的区块。这个协议确保了没有其他节点会和你的节点的区块链版本一致,除非它们的创世区块和你的一模一样。通过这种方法,你就可以创建任意多的私有区块链。CustomGenesis.json {“nonce“ “0 x0000000000000042“, “timestamp“ “0 x0“,“parentHash“ “0 x0000000000000000000000000000000000000000000000000000000000000000“,“extraData“ “0 x0“, “gasLimit“ “0 x8000000“, “difficulty“ “0 x400“,“mixhash“ “0 x0000000000000000000000000000000000000000000000000000000000000000“,“coinbase“ “0 x3333333333333333333333333333333333333333“, “alloc“ { } },以太坊构建本地私有网络,Mixhash 一个256位的哈希值,和nonce配合,一起用来证明在区块链上已经做了足够的计算量(工作证明)。这个nonce 和 mixhash 的组成,必须满足一个在黄皮书中所描述的数学上的条件,黄皮书 4.3.4。 Nonce 一个64位的哈希值,和mixhash配合,一起用来证明在区块链上已经做了足够的计算量(工作证明) Difficulty 定义挖矿的目标,可以用上一个区块的难度值和时间戳计算出来,值越高,矿工越难挖到区块 Alloc 预先填入一些钱包和余额 Coinbase 160位的钱包地址。在创世区块中可以被定义成任何的地址,因为当每挖到一个区块的时候,这个值会变成矿工的etherbase地址 Timestamp 一个unix的time函数的输出值,时间戳 extraData 32字节长度,可以为私有链留下一些信息,如你的姓名等,用以证明这个私有链是你创建的 gasLimit 当前链,一个区块所能消耗的gas上限,以太坊构建本地私有网络,私有链中会使用到的命令行参数 --nodiscover 添加这个参数,确保没有人能发现你的节点。不然的话,可能有人无意中会链接到你的私有区块链。--maxpeers 0 使用maxpeers 0,如果你不希望其他人连接到您的测试链。当然,您也可以调整这个数,如果你知道有多少同伴会连接你的节点。--rpc 在你的节点上激活RPC接口。这参数在geth中默认启用。,以太坊构建本地私有网络,私有链中会使用到的命令行参数 --rpcapi “db,eth,net,web3“ 这个命令描述哪些接口可以通过RPC来访问,默认情况下,geth开启的是web3接口。--rpcport “8080“ 将端口号设置成8000以上的任何一个你网络中打开的端口。默认是8080。--rpccorsdomain http//chriseth.github.io/browser-solidity/ 设置可以连接到你的节点的url地址,以执行RPC客户端的任务。最好不要使用通配符 * ,这样将允许任何url都可以链接到你的RPC实例。,以太坊构建本地私有网络,私有链中会使用到的命令行参数--datadir “/home/TestChain1“ 私有链的数据目录,确保与公共以太坊链的数据目录区分开来。--port “30303“ 这是“网络监听的端口”,您可以用它手动的和你的同伴相连。--identity “TestnetMainNode“ 为你的节点设置一个ID。用于和你们的一系列同伴进行区分。,以太坊构建本地私有网络,运行geth 依照上面所述,配置好命令行,运行Windowsgeth --identity “MyNodeName“ --rpc --rpcport “8086“ --rpccorsdomain “*“ --datadir “C\chains\TestChain1“ --port “30303“ --nodiscover --rpcapi “db,eth,net,web3“ --networkid 1006 init /path/to/CustomGenesis.json注意在运行以上命令前,必须在datadir参数指定的目录中先创建一个chaindata目录,以太坊构建本地私有网络,运行geth 依照上面所述,配置好命令行,初始化创世区块,运行Windowsgeth --identity “MyNodeName“ --rpc --rpcport “8086“ --rpccorsdomain “*“ --datadir “C\chains\TestChain1“ --port “30303“ --nodiscover --rpcapi “db,eth,net,web3“ --networkid 1006 init /path/to/CustomGenesis.json注意在运行以上命令前,必须在datadir参数指定的目录中先创建一个chaindata目录,以太坊构建本地私有网络,每次,当你想要使用你自定义的私有链时,你都需要先使用geth来运行以上的命令来启动它。geth --identity “MyNodeName“ --rpc --rpcport “8080“ --rpccorsdomain “*“ --datadir “C\chains\TestChain1“ --port “30303“ --nodiscover --rpcapi “db,eth,net,web3“ --networkid 1006 console,
展开阅读全文

最新标签

网站客服QQ:123120571
环境100文库手机站版权所有
经营许可证编号:京ICP备16041442号-6