小生凡一
Talk is cheap. Show me the code.
展开
-
【区块链100例】(3) 超级账本 Fabric 的搭建
区块链一百例 (3) :超级账本Fabric的搭建原创 2021-10-08 09:07:57 · 2037 阅读 · 5 评论 -
【区块链100例】(4) 编写脚本快速搭建超级账本 Fabric
区块链一百例 (4) :编写脚本快速搭建 Fabric原创 2021-10-17 16:57:04 · 1315 阅读 · 0 评论 -
【超级账本】Fabric 层次结构以及核心模块的介绍(二)
目录1. 结构介绍2. 核心代码3. 核心模块3.1 peer 系统模块3.2 order 系统模块3.3 cryptogen 工具模块3.4 configtxgen 工具模块3.5 configtxlator 工具模块1. 结构介绍包名称作用bccsp加密标准以及算法的实现,包括加密、签名、验签服务bddtestsbdd测试框架相关的测试common通用功能以及一些通用的代码实现,包括日志、错误、工具包等,主要包括项目全局的功能性代码。core核心代码模原创 2021-08-14 22:02:05 · 1536 阅读 · 2 评论 -
【超级账本】cryptogen 与 configtxgen 模块介绍(三)
cryptogen 模块主要生成证书,configtxgen 模块主要是生成通过之前的crytogen模块生成的证书来生成创世块和通道文件,这两个模块都是fabric中非常重要。原创 2021-08-14 23:23:03 · 928 阅读 · 7 评论 -
【超级账本】docker-compose部分介绍(四)
目录1. docker-compose 管理容器2. fabric 相关 docker 镜像3. docker-compose-base.yaml 配置4. peer-base.yaml配置5. 环境变量5.1 客户端cli环境变量:`docker-compose-cli.yaml`5.2 排序节点`orderer`环境变量:`docker-compose-base.yaml`5.3 peer节点环境变量:`docker-compose-base.yaml`和`peer-base.yaml`6. leade原创 2021-08-29 21:32:07 · 7256 阅读 · 4 评论 -
【智能合约】Go语言调用以太坊 | geth
目录1. 安装geth1.1 下载地址:1.2 安装:1.3 查看是否安装成功2. geth命令介绍3. geth常用命令3.1 指定数据目录 --datadir3.2 账户相关3.3 控制台console:go调用合约–geth以太坊智能合约开发中最常用的命令行工具。Geth是由以太坊基金会提供的官方客户端软件,用Go编程语言编写的。Geth提供了一个交互式命令控制台,通过命令控制台中包含了以太坊的各种功能(API)。全名go-ethereum。1. 安装geth1.1 下载地址:官网(很原创 2021-08-07 10:01:57 · 11309 阅读 · 17 评论 -
【智能合约】Go语言调用智能合约 | geth
目录1. 获取abi文件:合约的接口2. 安装abigen工具:用来生成go文件,3. remix连接私有链4. 合约部署5. 初始化私有链节点创世块6. 合约部署7. 调用8. gcc编译器安装1. 获取abi文件:合约的接口Application Binary Interface在remix工具中编译合约后,会有个abi,点复制,然后新建一个xx.abi文件,把赋值的粘贴到里面注意:代码变了,重新编译后abi也会变,所以一定要用最新的abi也可以通过solc生成abi:solc --bin原创 2021-08-07 17:35:56 · 16177 阅读 · 6 评论 -
【智能合约】Solidity 基础知识 | 以太坊智能合约编程语言
介绍一下以太坊的智能合约语言solidity原创 2021-07-23 13:54:29 · 7779 阅读 · 23 评论 -
【智能合约】Solidity 进阶编程 | 注意一下合约中的细节
介绍solidity进阶编程,这里有一些创建合约中的一些细节和容易忽略的点。希望能帮助到你学习solidity。原创 2021-07-26 08:25:41 · 1372 阅读 · 45 评论 -
区块链之旅(二)以太坊、超级账本、公链、联盟链
以太坊与超级账本以太坊与超级账本的对比以太坊超级账本设计原理紧耦合松耦合(二次开发)执行环境EVMDocker平台语言GoGo部署难度相对简单相对复杂拓展性差(设计缺陷)好数据存储链下完整,链上hash链下完整,链上hash代币借助币奖励矿工和防止攻击不需要Spv支持不需要,需要自行实现,同区块看本身有关企业级应用相对较好不太好出块时间不可控,会越来越长,和区块高度相关通过实践和交易控制原创 2021-05-07 20:47:01 · 2996 阅读 · 3 评论 -
区块链之旅(四)双花攻击、博弈论、Hash函数、数字签名
双花攻击简介“双花”,即一笔钱被花了两次或者两次以上,也叫“双重支付”“双花攻击”,又叫“双重消费攻击”,即同一笔资金,通过某种方式被花费了两次,取得了超过该笔资金的服务。实现在确认前的双花:零确认的交易本来就可能最后没有写入区块链。除非小额,最好至少等确认即可规避此类双花。在确认后的双花:这就要控制超50%算例才能试试。即类似于一个小分叉,将给一个商店的交易放入孤立区块中。这种确认后的双花,很难实施,只是理论上可行。案例2018年发生的比特币黄金(BTG)的双花攻击。BTG当时是全球第原创 2021-05-10 22:28:10 · 1810 阅读 · 4 评论 -
区块链之旅(五)超级账本简介及Git、Docker、Fabric的配置
Hyperledger超级账本简介超级账本是推动区块链行业应用的开源项目的总称,组织成员可以发起新的区块链项目,加入超级账本项目,但是还是要遵循Hyperledger的生命周期。管理架构TSC 负责主导社区开发工作。董事会是由各个组织和大型企业公司加入,对社区进行管理。背景 首个面向企业应用场景的开源分布式帐本平台。为透明,公开,去中心化的企业级分布式账本技术提供开源参考实现,并推动区块链和分布式账本项目相关协议、规范和标准的发展。 超级账本作为一个联合项目,由面向不同目的和场原创 2021-05-14 17:10:23 · 1288 阅读 · 10 评论 -
区块链实战(一)实现简单的区块与区块链交易
区块链实战字节字段说明4版本区块版本号,表示本区块遵守的验证规则32父区块头哈希值前一区块的Merkle树根的哈希值,同样采取SHA256计算32Merkle根该区块中交易的Merkle树根的哈希值,同样采用SHA256计算4时间戳该区块产生的近似时间,精确到秒的UNIX时间戳,必须严格大于前11各区块的时间的中值,同时全节点也会拒接那些超过自己两个小时的时间戳的区块4难度目标该区块工作量证明算法的难度目标,已经使用特定算法编码4N原创 2021-05-11 01:08:20 · 2220 阅读 · 9 评论 -
区块链实战(二)PoW工作量证明的实现
Version 2定义一个工作量证明的结构ProofOfWorkblock 目标值提供一个创造PoW的方法NewProofOfWork(参数)提供一个计算哈希值的方法Run()提供一个校验函数IsValid()结构目录block.gopackage mainimport ( "time")/*1.定义一个区块的结构Blocka.区块头:6个字段b.区块体:字符串表示data*///区块type Block struct {原创 2021-05-11 11:47:25 · 790 阅读 · 5 评论