共同体区块链,是指其共识过程受到预选节点控制的区块链;例如,有15个金融机构组成一个共同体,每个机构都运行着一个节点,而且为了使每个区块生效需要获得其中10个机构的确认。区块链或许允许每个人都可读取,或者只受限于参与者,或走混合型的路线,例如区块的根哈希及其API(应用程序接口)对外公开,API可允许外界用来作有限次数的查询和获取区块链状态的信息。这些区块链可视为“部分去中心化”。
私链(private blockchain),又称无代币区块链(Token-less blockchain)
完全私有的区块链 , 是指其写入权限仅在一个组织手里的区块链。读取权限或者对外开放,或者被任意程度地进行了限制。相关的应用囊括数据库管理、审计、甚至一个公司,但在很多的情形下,公共的可读性并非是必须的。
公链和私链的特点
共同体区块链结合了公链的“低信任”和私链的“单一高度信任” , 提供了一种混合的模式,而私链可以更精确地描述为带有一定程度数字加密功能,可管理(permissioned)的传统中心化系统。
环境篇①下载以太坊钱包Mist或者ETHWallet
https://github.com/ethereum/mist/releases/tag/0.8.1
我这里提供下我用的两个版本地址:
Mist 链接:https://pan.baidu.com/s/1BVJV9-nJRE4q4QnupNihOw 密码:dt9j
EthWallet 链接:https://pan.baidu.com/s/1Q-tWMI5cC3uPphoQEN1Plw 密码:nhsu
Geth 链接:https://pan.baidu.com/s/1j31K0WJm9PDKy-5Cs4E5Og 密码:5zq1
② 这里我们以Mist为例 ,下载后解压Mist,直接运行,此时会在C盘生成一个Mist的Geth目录 同步区块过程很慢,可以测试环境可直接跳过
C:\Users\Administrator\AppData\Roaming\Mist\binaries\Geth\unpacked
我们先将生成的目录添加进系统Path环境变量中 方便我们后续操作。
添加Path后,我们打开命令窗口 执行:geth -h 查看geth版本和其他命令信息 如下图:
此时我们需要注意的是 在C盘目录下 还生成了一个 以太坊目录:C:\Users\Administrator\AppData\Roaming\Ethereum
这个路径下面存放的是 账户秘钥信息,区块文件等信息。
geth account new 创建新账户命令
秘钥一般存放在:C:\Users\Administrator\AppData\Roaming\Ethereum\keystore 如下图所示:
搭建以太坊私有链
编写创始区块CustomGenesis.json 文件内容如下:
{ "nonce": "0x0000000000000042", "timestamp": "0x00", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "extraData": "0x00", "gasLimit": "0x8000000", "difficulty": "0x400", "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", "coinbase": "0x3333333333333333333333333333333333333333", "alloc": { }, "config": { "chainId": 15, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 } }