![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GoLang
Joel的小喵咪
Welcome to summoner's rift
展开
-
Merkle Tree
什么是 Merkle TreeMerkle(默克尔)树通常又被叫做 Hash 树,该树的名字来源于他的专利作者Ralph Merkle。它是一个非线性的二叉树。该树可用于对大量数据中的内容进行有效且安全的一致性验证,而无需访问整个数据集。如何构建树叶子节点:该叶子节点对应数据的 Hash值。没有固定的hash算法,例如 SHA-256 或者 Keccak 以及 SHA3-256。非叶子节点:该节点的所有子节点的 Hash。例如 C 有 A,B两个子节点,那么 C = hash(AB)。原创 2020-12-18 10:37:07 · 217 阅读 · 0 评论 -
Libp2p学习01一个简单的聊天服务
说明本人是刚学 libp2p, 这些博客 不能当作是教程或者是引导。也许会有大量错误,欢迎大佬指导。此博客源码 imjoel/go-libp2p-learn搭建一个简单的穿透服务搭建穿透服务一共需要3步,生成一个节点ID创建一个 Host等待连接1. 生成节点ID 不用多说,github.com/libp2p/go-libp2p-examples 上有示例, 下面是我将目标代码整合成了一个方法import ( crand "crypto/rand" "github.com/lib原创 2020-08-28 15:22:06 · 3221 阅读 · 2 评论 -
Go 语言中的通道和多线程
我搭建了个人博客主页, 欢迎访问: http://blog.joelzho.com/零. 说Go 的多线程和通道我感觉还是比较好玩的, 特别是 Channel.Channel 真是多线程通讯的利器, 就像 C 中多进程通讯的 pipe 一样.我这里以网易2015 的一道多线程面试题为例子, 用 GoLang 来实现.其中涉及到的知识有:结构和接口文件的读写多线程(gorou...原创 2019-02-25 12:48:40 · 1881 阅读 · 0 评论