区块链技术
区块链相关技术学习和分享。
落叶1210
这个作者很懒,什么都没留下…
展开
-
go语言代码实现区块链-P2P节点发现(二)
继续上一章节Loop函数代码如下:func(k *Kad) loop(){ log.Println("go loop...") loop: for{ select{ case <-k.ticker.C: //定时检测node数量,如果小于N,执行节点发现 go k.checkNodes() case n:=<-k.tc: //...原创 2018-11-02 17:54:05 · 799 阅读 · 0 评论 -
go语言代码实现区块链-P2P节点发现(一)
1、P2P网络节点发现流程设定每次节点启动需要发现的节点数最小为N,最大值为M,节点ID为160位的二进制值。根据Kademlia算法,假设启动的客户端(节点)为A,节点A的ID为“NodeIDA”,A启动后,发现其他节点的流程如下:检测A的K桶下是否已经存在持久化的其他节点信息,如果存在,尝试能否ping-pong握手成功,如果可以,保留该节点。如果不可以,从K桶中删除该节点。如果此...原创 2018-10-31 17:19:38 · 1827 阅读 · 0 评论 -
第一章 小白学区块链-初始区块链
在决定学习区块链之前,“区块链”三个字在我脑海里只是一个名词,就像网络上不时冒出的热词一样,感兴趣的话会点开了解一下,不感兴趣就随之了了。决定学习区块链的时候,打开网页开始搜索相关的区块链知识,结合自己以往的经验分析,区块链对自己来说就是一个全新的领域,因此给自己定位为“小白”。经过两天的了解,区块链总算在脑海里有了一个模糊的印象,总的来说还是不太明白具体是什么,作为一个程序员,习惯性的思...原创 2018-08-21 01:06:14 · 533 阅读 · 0 评论 -
第二章 小白学区块链-技能架构分析
区块链的基础技术架构如下图: 应用层设计语言如下:应用层涉及到的编程语言包括C++、Java、Go、Python、Javascript、C#。目前Go语言在区块链上的应用最广,并能够基于这些语言实现分布式应用软件设计及开发。网络层需要熟悉P2P分布式网络、并行传输机制等。数据层主要是区块链密码学知识和分布式数据存储相关技能。密码学知识包括加密技术和数字签名。...原创 2018-08-22 00:05:03 · 284 阅读 · 0 评论 -
第四章 小白学区块链-模拟区块链转账交易
本章节我们还是通过比特币的测试网络实现一个简单的转账交易,该过程会调用RPC接口来执行一些最基本的操作,开发语言为Node.js。该实例所需运行环境:ubuntu操作系统 docker运行环境 Node.js语言环境在此之前我们需要了解比特币的RPC接口是什么。区块链的本质是一个公共的记账行为,每一个区块代表一个交易记录,每笔交易记录的内容包括上笔交易的编号和交易清单,这样一个个...原创 2018-08-23 23:27:47 · 2119 阅读 · 0 评论 -
第五章 小白学区块链-以太坊客户端的安装和运行
以太坊客户端的安装和运行以太坊是一个全新开放的区块链平台,以太坊的诞生解决了比特币的一些不足,采用Account账户模式更加的节省空间,编码方面更为简单。另外以太坊引入了智能和约,通过智能和约,用户可以开放Dapp应用,也可以定义一个数字资产。想要链接以太坊的网络,我们首先安装以太坊的客户端geth。geth的全称是go-ethereum,是以Go语言编写的以太坊客户端,也是目前比较流...原创 2018-08-25 01:19:51 · 538 阅读 · 0 评论 -
eclipse编译以太坊源代码
为了更好的学习区块链技术,查看以太坊的源代码无疑是最好的学习方式。这里为了快速搭建环境,选择Windows 10操作系统和eclipse编译器。编译器请自行安装,不再讲解安装过程。有了以上环境还需要安装工具如下:1、go语言安装包,下载地址:https://studygolang.com/dl/golang/go1.9.1.windows-amd64.msi下载完成后直接安装,...原创 2018-09-04 17:02:43 · 879 阅读 · 2 评论 -
以太坊区块链的区块(Block)结构
这里以以太坊区块链为基础进行讲解。直接看代码:区块结构代码:block.go1、block的headertype Header struct { ParentHash common.Hash `json:"parentHash" gencodec:"required"` UncleHash common.Hash `json:"sha...原创 2018-09-08 17:10:52 · 7227 阅读 · 1 评论 -
windows环境下部署以太坊私有链
1、部署环境:1)Windows操作系统:window10 X642)以太坊客户端:geth-windows-amd64-1.8.3-329ac18e.exe3)以太坊钱包:Ethereum-Wallet-win64-0-9-3.zip以太坊客户端和以太坊钱包可以从以太坊爱好者网站下载:客户端:https://ethfans.org/wikis/Ethereum-Geth-Mi...原创 2018-09-17 17:50:13 · 2201 阅读 · 2 评论 -
windows下以太坊智能合约部署
这里使用测试网络完成智能合约的搭建和测试按照上一章节的内容,已经部署了以太坊的私有链,并且创建了两个账户,现在我们看下钱包界面:1、PRIVATE-NET说明是私有链。2、0 peers说明没有其他客户端节点与我们连接。3、区块数量为370,说明通过挖矿过程共产生了370次交易,注意,这个交易并非只能由我们通过转账产生。以太坊的主网络中每10分钟会自动产生一次系统交易,并将奖励...原创 2018-09-17 17:52:08 · 1782 阅读 · 1 评论