区块链是什么?系统开发I34-案例I633-演示53I9,一句话,它是一种特殊的(非关系型)分布式数据库,这种数据库只能做插入和查找操作,并且没有管理员。
首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。
其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点后都会同步,保证区块链一致。
软件安装与配置
2.1. Ubuntu
2.1.1. 安装 geth
安装环境
mixhash: 与nonce配合用于挖矿,由上一个区块的一部分生成的hash。注意他和nonce的设置需要满足以太坊的Yellow paper, 4.3.4. Block Header Validity, 章节所描述的条件。
nonce: nonce就是一个64位随机数,用于挖矿,注意他和mixhash的设置需要满足以太坊的Yellow paper, 4.3.4. Block Header Validity,章节所描述的条件。
difficulty: 设置当前区块的难度,如果难度过大,cpu挖矿就很难,这里设置较小难度
alloc: 用来预置以及的以太币数量,因为私有链挖矿比较容易,所以我们不需要预置有币的,需要的时候自己创建即可以。
coinbase: 矿工的,随便填
timestamp: 设置创世块的时间戳
parentHash: 上一个区块的hash值,因为是创世块,所以这个值是0
extraData: 附加信息,随便填,可以填你的个性信息
gasLimit: 该值设置对GAS的消耗总量限制,用来限制区块能包含的交易信息总和,因为我们是私有链,所以填大。
identity: 区块链的标示,随便填写,用于标示目前网络的名字
init: 指定创世块文件的位置,并创建初始块
datadir: 设置当前区块链网络数据存放的位置
port: 网络端口
rpc: 启动rpc通信,可以进行智能合约的部署和调试
rpcapi: 设置允许连接的rpc的客户端,一般为db,eth,net,web3
networkid: 设置当前区块链的网络ID,用于区分不同的网络,是一个数字
console: 启动命令行模式,可以在Geth中执行命令
polygon链matic超级MMM互助dapp系统开发
广州网站/软件服务相关信息
11分钟前
23小时前
3天前
3天前
12月12日
12月11日
12月10日
12月9日
12月7日
12月6日