ethereum
文章平均质量分 82
Publish or Perish
这个作者很懒,什么都没留下…
展开
-
Clique PoA consensus 建立Private chain
Clique PoA consensus 建立Private chainEthereum Proof of AuthorityProof of Authority 是直接指定某些节点有记帐权,其他节点通过验证,授权的节点生产Block 轮流记账。geth >= 1.6ethereum/EIPs#225实现了Clique的共识机制。安装geth第一种方法:由...原创 2017-10-05 11:19:25 · 4349 阅读 · 1 评论 -
通信流程
Ethereum 通信流程备注:文中所提到的函数都未带参数或参数不全,与源代码不同,并且挑选了关键函数,只用于说明。”>>”代表调用。geth>>startNode()>>utils.StartNode()>>Node.start()位于node/node.go中的 func (n *Node) Start() error 用于创建一个p2p node,并运行它。func (n *Node) Sta原创 2017-10-05 10:31:32 · 299 阅读 · 0 评论 -
addPeer操作解析
从handle(peer)倒推,寻找被调用关系在p2p.Server.run()函数,无限for循环中,执行select中case c := <-srv.addpeer:分支的操作,进行handshake,并且goroutine启动Server.runPeer(),并进一步调用peer.run(),最终在startProtocols()中调用proto.Run(p,rw),该Run()函数为hand原创 2017-11-21 21:45:27 · 2920 阅读 · 0 评论 -
跨账本资产原子互换协议
一、协议背景 未来可能有很多不同的联盟链,采用不同的技术,支持不同的资产。目前资产在区块链内部的可靠流转已经不是问题,需要考虑的是,如何用一种简单的方法进一步促进各条链上资产的互相交换、发掘更多的商业机会?比如Alice在一个区块链A上拥有股权,Bob在区块链B上拥有债权,如何让Alice用区块链A上的股权换取Bob在区块链B上的债权?怎么用尽可能简单的方法,既不采用侧链锚转载 2017-12-26 21:22:36 · 672 阅读 · 0 评论 -
智能合约验证签名
以太坊(ethereum)中使用了ECDSA签名算法,该算法基于椭圆曲线实现。 同时,智能合约编程语言solidity 也提供了签名和验证签名的操作:1、签名签名使用web3.eth.sign(),比如利用web3.js:var account = web3.eth.accounts[0];var sha3Msg = web3.sha3("blockchain");var signedData原创 2018-04-15 20:22:41 · 9175 阅读 · 0 评论 -
zksnark--零知识证明
零知识证明要了解zkSNARK,必须先理解什么是零知识证明。关于零知识证明,概念并不难理解,我们以一个老掉牙的故事作为例子。阿里巴巴被强盗抓住,为了保命,他需要向强盗证明自己拥有打开石门的密码,同时又不能把密码告诉强盗。他想出一个解决办法,先让强盗离开自己一箭之地,距离足够远让强盗无法听到口令,足够近让阿里巴巴无法在强盗的弓箭下逃生。阿里巴巴就在这个距离下向强盗展示了石门的打开和关闭。这个整个过程...转载 2018-05-11 18:42:46 · 3422 阅读 · 0 评论 -
vscode利用cmake调试
vscode配置cmake插件,进行debug配置launch.json文件如下:{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit...原创 2018-07-22 08:43:39 · 24807 阅读 · 3 评论