- 博客(16)
- 资源 (3)
- 收藏
- 关注
原创 恢复 Substrate 链: unexpected epoch changes
Babe 无法正常工作是因为,在最后出块的下一个 epoch 内,没有正常出块,那么如果所有的验证者节点把系统时间调整到最后出块的时间,理论上就可以让链恢复工作了。正常情况下,区块链和外部时间是一致的,人为的让区块链回到历史时间(最后出块时间),再以加速的时间流逝赶上外部世界的时间。这种方式的原理是通过 rpc 接口(或者状态数据库)获取到最后正常区块高度下的状态数据,生成一个新的创世块,基于新的创世块运行链。:即时间扭曲的倍数,对应被压缩的是出块时间,合理设置自己的倍数;这里我们修改为两倍速运行。...
2022-08-26 16:05:30 2309 1
原创 再议 Send,Sync
问题起因想要通过 trait object 调用 Trait 中定义的 async method(s) (async fn 通过 async-trait 模拟实现)示例代码如下use async_std::task;use async_trait::async_trait;#[async_trait]trait Foo { async fn foo(&self);}struct A;#[async_trait]impl Foo for A { async
2020-09-02 18:04:43 1180 3
原创 Hyperledger Burrow StateDB
文章目录1. 存储结构1.1 Plain1.2 Tree1.3 Commit2. 代码结构Burrow 借助 Tendermint 管理 p2p 网络和区块共识,在 Tendermint 之外自己维护了一个 StateDB 存储 Burrow 中各种交易的状态数据。1. 存储结构Burrow 在 KV DB 之上通过前缀的形式划分出了多个用途的空间,主要有三大类1.1 Plain这...
2020-04-10 12:04:05 409
原创 Ethereum Service 机制
go-ethereum v1.19.121. ServiceService 抽象两类功能的集合:Protocol :p2p 节点间交互协议API :为客户端提供的 RPC 接口service 接口定义 service.go// Service is an individual protocol that can be registered into a node.//// N...
2020-03-27 12:19:12 459
原创 IPFS 命令示例
0. 准备下载 IPFS 最新 Release 版 v0.4.23,解压放入某 $PATH 下,这里放在一个零时目录下。version=v0.4.23platform="$(uname -s | tr '[:upper:]' '[:lower:]')-$(if [[ $(uname -m) == 'x86_64' ]]; then echo amd64; else echo 386; fi...
2020-03-25 22:42:59 439
原创 Hyperledger Fabric 2.0 Gossip
本文基于 Fabric v2.0.1一、Gossip 简介参见 Gossip 协议二、Gossip 在 Fabric 中的应用Fabric 使用 Gossip 作为 Peer 间的数据共享网络。在其上划分 Channel 进行消息交换,主要用于 Fabric 网络成员发现、组织内区块数据交换、私有数据的分发、及同步 Peer Channel 当前状态等。Peer 间建立连接时握手...
2020-03-22 16:28:29 525
原创 Hyperledger Fabric 2.0 Chaincode Dev
基于 Fabric v2.0.1,以前的版本应该也能通用。一、准备工作Fabric Network单节点 Peer单节点 Orderer已经创建的ChannelPeer Join 该 ChannelMac or Linux 环境可以快速基于脚本搭建 Fabric Debug 环境二、以 Dev 模式启动 Peer启动 Peer 时带上 dev mode 标识,通过命令...
2020-03-18 12:11:53 864
原创 JetBrains 系IDE debug传递JSON字符串参数问题
遇到问题版本:GoLand 2019.3调试模式启动时,传递 json 字符串遇到问题需要这样的参数chaincode query -c '{"Args":["query","a"]}'直接传递“"”会被去掉变成下面这样chaincode query -c '{Args:[query,a]}'正确方式chaincode query -c "{\"Args\":[\"query\"...
2020-03-17 19:39:06 319
原创 Hyperledger Fabric 2.0 Endorser
本文基于 Fabric v2.0.1Fabric 中所有与链相关的操作都通过 Chaincode 实现,Chaincode 管理本身也不例外。为了实现相应功能 Fabric 提供了内置的系统 Chaincode :cscc :the configuration handler for the peerqscc :the ledger query functionslscc :chainc...
2020-03-15 18:01:07 314
原创 Hyperledger Fabric 2.0 chaincode lifecycle
bin/configtxgen -profile SampleDevModeSolo -channelID sys-channel -outputBlock ./channel-artifacts/genesis.blockbin/configtxgen -profile SampleSingleMSPChannel -outputCreateChannelTx ./channel-artif...
2020-03-14 15:15:01 1798
原创 Hyperledger Fabric 2.0 external builder
Fabric 2.0 除了原有的 docker builder 之外新增了 external builder ,一个 external builder 的实现提供 detect、build、release、run 可执行命令。detect :接受两个参数source dir、metadata dir,用于探测客户端提交的 chaincode 是否可用此 builder 处理build :接受...
2020-03-12 14:46:25 1471
原创 Hyperledger Fabric 2.0 debug 环境准备
环境Fabric v2.0.1go version go1.13.7 darwin/amd64GoLand 2019.3转换为 go module到目前为止 Fabric 还没有启用 go module 管理依赖,首先将工程转换为 go module 工程。go mod init 会根据 Gopkg.toml、Gopkg.lock 生成依赖并添加到 go.mod 中,期间会访问 g...
2020-03-12 10:59:56 1437
原创 Hyperledger Fabrica 2.0 MSP & BCCSP
本文基于 fabric v2.0.1,以 peer 节点启动为例讲述 localmsp、bccsp 初始化过程。一、BCCSPBCCSP 是 Blockchain Cryptographic Service Provider 的简称,是常用区块链密码学算法的抽象表示。包含 Hash、加解密、签名、验签 等。在 Fabric 中提供两种实现方式,一种为 SW (Software) 即纯 Go...
2020-03-10 12:16:34 835
原创 Hyperledger Fabric 2.0 gRPC接口
本文基于 Fabric v2.0.1 ,与 v1.x 版不同,v2 版将 protos 定义放到一个独立仓库 fabric-protos 进行管理,并且使用 protoc 工具生成的具体语言代码也使用独立的仓库存放,如 golang 版 fabric-protos-go。一、 Orderer1. AtomicBroadcast服务定义于 orderer/ab.protoservice A...
2020-03-05 15:02:01 1699
原创 编译Filecoin
filecoin 编译过程中需要下载 proof-params 文件,默认从 IPFS官方网关(https://ipfs.io/ipfs/) 拉取,可通过环境变量IPFS_GATEWAY自定义,见 go-paramfetch期间还需要从github下载 filecoin-ffi release tarball,见 install-filecoin ,可能会被墙,通过环境变量HTTPS_PROXY...
2020-03-04 12:19:54 837
原创 IPFS WebUI
基本信息IPFS 版本:v0.4.23WebUI 版本: v2.7.2服务端设置WebUI 使用独立仓库管理,最新版直接发布到 IPFS 网络上,在IPFS实现代码中引用相应CID,如在 go-ipfs 中的webui.go所示。daemon.go// serveHTTPApi collects options, creates listener, prints status mess...
2020-03-03 12:11:47 1277
The Mythical Man Month(人月神话)20周年英文文字版
2013-09-11
Linux/Unix设计思想(扫描版)
2013-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人