Version2 定义一个工作量证明的结构ProofOfWorkblock 目标值 提供一个创造PoW的方法NewProofOfWork(参数) 提供一个计算哈希值的方法Run() 提供一个校验函数IsValid() 结构目录 block.go packagemain import( "time" ) /1.定义一个区块的结构Blocka.区块头:6个字段b.区块体:字符串表示data/ //区块 typeBlockstruct{ Versionint64//版本 PerBlockHash[]byte//前一个区块的hash值 Hash[]byte//当前区块的hash值,...
区块链实战 字节 字段 说明 4 版本 区块版本号,表示本区块遵守的验证规则 32 父区块头哈希值 前一区块的Merkle树根的哈希值,同样采取SHA256计算 32 Merkle根 该区块中交易的Merkle树根的哈希值,同样采用SHA256计算 4 时间戳 该区块产生的近似时间,精确到秒的UNIX时间戳,必须严格大于前11各区块的时间的中值,同时全节点也会拒接那些超过自己两个小时的时间戳的区块 4 难度目标 该区块工作量证明算法的难度目标,已经使用特定算法编码 4 Nonce 未来找到满足难度目标所设定的随机数,为了解决32为随机数在算力飞升的情况下...
相关术语 p2p:peertopeer,简称p2p,就是点对点的意思。处于p2p中的网络中的所有节点地位都是相等的,网络不依赖一个中心。 公钥私钥:比特币的账户体系使用非对称加密算法,其中用到了一对密钥:公钥和私钥。用公钥对数据进行加密之后,只有对应的私钥才能解密来防止如果私钥用于加密,则只有对应的公钥才能解密。在发送比特币时,交易发起者使用密钥对他的交易申请签名,网络上的任何人都可以使用对应的公钥对这个交易的合法性进行交易的合法性进行验证。 地址:比特币世界中,通过私钥可以计算得到公钥,公钥再经过一系列哈希及编码运算就得到地址,地址可以理解为公钥的摘要,有一串字符串表示。地址使公钥更具...
智能合约 定义 智能合约是一套以数字形式定义的约定,包括合约参与方可以在上面执行这些约定的协议。智能合约的基本思想是,各种各样的合约条款可以嵌入到我们使用的硬件和软件中,从而使得攻击者需要很大的代价去攻击。 特点: 计算机程序的if-then语句 条约达成时自动执行 数字化的合同 计算系统自动执行条款 特征: 数据透明:区块链上的数据对参与方是公开透明的,数据处理也是公开透明的。 不可篡改:区块链本身的所有数据不可篡改,区块链上的智能合约代码以及运行产生的数据输出也是不可篡改的。 永久运行:支撑区块链网络的节点往往达到数百甚至上千,部分节点的失效并不会导致智能合约的停止,其可靠性...
目录 前言 1.fabric介绍 1.1fabric和以太坊的区别 1.2身份管理介绍 1.3账本:每个节点中都有 1.4交易管理介绍 1.5节点介绍 1.6通道介绍--channel 2.fabric环境搭建 2.1安装虚拟机 2.2安装必要配置 2.2.1换源 2.2.2安装vim 2.2.3安装python2.7以及python-pip2 2.2.5安装go 2.2.6安装docker 2.2.7安装docker-compos...
fabric网络搭建执行顺序 手动执行都是环境部分的创建! 1.下载镜像 !/bin/bashecho"第一步:下载镜像开始..."./download-dockerimages.shecho"下载镜像完成" 2.可执行文件 手动:拷贝bin目录下的可执行文件到gopath/bin/ 这个在上一章中已经有了详细的操作了! 传送门-----》 3.crypto-config.yaml 手动:拷贝crypto-config.yaml到shell脚本同级目录 4.生成证书 生成证书,结果生成crypto-config路径 echo"第二步:生成证书开始...