原创 ipfs dht流程解讀

運行環境 版本:[email protected] [email protected] 本文運行兩個節點,一個在ubuntu,另外一個在windows,下文用ipfs1代表ubuntu端的ipfs,用ipfs2代表wi

原创 ipns實現機制解讀

ipns是ipfs的域名系統。 前言 將ipns記錄保存在dht之前,需要驗證發佈對象的真實性(有可能該對象是被別的節點冒用的),具體是通過檢測簽名是否與公鑰和節點ID匹配,因此需要知道公鑰。 ipfs init的時候,會自動生成

原创 fabric2.0 orderer broadcast and deliver service

service orderer provide Broadcast and Deliver service. the former is used to recv tx from client , and the latter i

原创 ipfs pubsub代碼解讀

Pubsub: Publish-subscribe發佈訂閱模式 運行環境 版本:[email protected] [email protected] 本文運行兩個節點,一個在ubuntu,另外一個在windows,下文用

原创 ipfs filestore解讀

版本: [email protected] IPFS中的filestore作用類似於Git中的LFS,主要用於存儲大文件,在blockstore只存儲大文件的dag root,在FileManager存放文件的metadata, 避免

原创 fabric2.0 cluster framework

catalog 1、rpc 2、comm rpc Orderer will start grpc server for service and connect to gprc server of other orderer as

原创 fabric2.0 orderer core structure

structure chart Registrar Registrar is core structure of orderer, which holds all chain, consenters and ledger. It

原创 burrow consensus flow

note burrow code version: v0.30.3 Note that the blob show burrow consensus flow of single node. ABCI Application Bu

原创 讓fabric 2.0 external builder在windows上跑起來

前言 fabric2.0 可以使用external builder跑chaincode源碼,方便chaincode調試,但是external builder編譯和啓動chaincode等操作使用的是4個bash腳本,而window

原创 burrow abi overview

This blob is focus on the generate, encode and storage of abi. If you want to know more about abi, you can refer so

原创 burrow event pubsub

Usage: Publish TxExecutions and blockExecution to subscriber(eg: transactor and rpcEvent) After commit state. func

原创 burrow stream event

StreamEvent StreamEvent is used to mark the border of data stream when get blocks via grpc stream. type StreamEvent

原创 burrow event query

Query Matches() is used to decide if query match tag, which we just disscuss above. type Query interface { Matches

原创 burrow event

Event type Event struct { Header *Header `protobuf:"bytes,1,opt,name=Header,proto3" json

原创 tendermint amino

Amino is an encoding library that can handle Interfaces. This is achieved by prefixing bytes before each “concrete