摘要:
Controller是EOS区块链的核心控制器,其功能丰富、责任重大。 关键字:EOS,区块链,controller,chainbase,db,namespace,using,信号槽,fork\_database,snapshot 命名空间namespace 命名空间namespace定义了一个范围 阅读全文
摘要:
"上文" 书说到区块链的存储方式,并结合了EOSIO进行分析,其中也提到了使用CLion调试EOS的方法。本文将继续深入细致地展开对加载了mongo_db_plugin的nodeos的调试过程以及心得。 关键字:源码分析,Debug EOS,nodeos,mongo_db_plugin,CLion, 阅读全文
摘要:
谈到区块链的存储,我们很容易联想到它的链式存储结构,然而区块链从比特币发展到今日当红的EOS,技术形态已经演化了10年之久。目前的EOS的存储除了确认结构的链式存储以外,在状态存储方面有了很大的进步,尤其是引入了MongoDB plugin以后,可以将功能有限的状态库搭上大数据的班车。本文将全面介绍 阅读全文
摘要:
EOSIO/eos 目前在github的项目活跃度方面排名第一,release版本更新的速度让人应接不暇。今天EOS的大版本1.1发布,我也有幸参与了贡献,本篇文章重点介绍1.1版本的重大功能升级。 关键字:eos, eos 1.1, MongoDB,Read Mode: HEAD,sync,优雅退 阅读全文
摘要:
本文主要研究EOS的tps表现,会从插件、cleos、EOSBenchTool以及eosjs四种方式进行分析研究。 关键字:eos, tps, cleos, txn\_test\_gen\_plugin, EOSBenchTool, qt, eosjs, C++源码分析 身心准备 tps: Tran 阅读全文
摘要:
本文内容本属于《 "【精解】EOS TPS 多维实测" 》的内容,但由于在编写时篇幅过长,所以我决定将这一部分单独成文撰写,以便于理解。 关键字:eos, txn\_test\_gen\_plugin, signed\_transaction, ordered\_action\_result, C+ 阅读全文
摘要:
区块链公链都是基于p2p网络,本篇文章将建立一个多节点不同职责参与的EOS的测试网络,根据路上发现的可做文章的技术点大做文章。 关键字:EOS组网,全节点,交易确认,boot sequence,stake,帕累托分配模型,竞选出块节点,EOS出块奖励,代理投票,resign 构建源节点 源节点就是第 阅读全文
摘要:
eos主网上线在即,它之所以能受到各方青睐,主要是看中了它在未来商业应用落地的潜力。在这期间,完善的账户与权限系统是必要条件。 关键字:eos,账户,钱包,权限,多重签名,eosio.msig,proposal,权重,阈值 概况 账户:是存储在区块链上的人们可识别的ID。 权限:每个事务都有,它是由 阅读全文
摘要:
智能合约操作链数据库是很常见的应用场景。EOS提供了专门的工具来做这件事(相当于Ethereum的leveldb),专业术语叫做持久化API,本文将完整严密地介绍这个工具以及对它的使用测试。 关键字:EOS,智能合约,链数据库,eosio::multi_index,constructor,empla 阅读全文
摘要:
EOS智能合约中包含一个exchange合约,它支持用户创建一笔交易,是任何两个基本货币类型之间的交易。这个合约的作用是跨不同币种(都是EOS上的标准货币类型)的,通过各自与EOS主链价值进行锚定,然后再相互发起交易兑换。要搞清楚的是,这与区块链“传统的”交易所并不一样,那个主要是集中在交易撮合上面 阅读全文
摘要:
EOS,智能合约,abi,wasm,cleos,eosiocpp,开发调试,钱包,账户,签名权限 热身 本文旨在针对EOS智能合约进行一个完整的实操演练,过程中深入熟悉掌握整个EOS智能合约的流程,过程中出现的问题也会及时研究并入我们自己的知识体系。本文会主要跟随EOS官方Wiki的智能合约部分进行 阅读全文
摘要:
最近项目急需C++ 的知识结构,虽说我有过快速学习很多新语言的经验,但对于C++ 老特工我还需保持敬畏(内容太多),本文会从一个Java程序员的角度,制定高效学习路线快速入门C++ 。 Java是为了就业,C++ 是信仰。(C++ 是教学、信仰、商业这三个原本互斥的概念(这三个概念也是三个阶段,正好 阅读全文
摘要:
EOS是当下最火的区块链技术,被社会广泛看好为下一代区块链3.0。不同于以太坊的学习,EOS的主语言是C++,本文作为EOS研究的首篇文章,重点介绍EOS的创新点,它的周边生态,各种概念原理的解释,以及它被看好的原因。而针对EOS的源码学习,原理实现以及并行的C++语言的快速学习与掌握,我会在接下来 阅读全文
摘要:
上文我们总结了以太坊最主要的共识算法:ethash算法,本文将重点分析以太坊的另一个共识算法:clique。 关键字:clique,共识算法,puppeth,以太坊地址原理,区块校验,认证结点,POA,选举投票,snapshot,Comma ok断言 clique 以太坊的官方共识算法是ethash 阅读全文
摘要:
本文具体分析以太坊的共识算法之一:实现了POW的以太坊共识引擎ethash。 关键字:ethash,共识算法,pow,Dagger Hashimoto,ASIC,struct{},nonce,FNV hash,位运算,epoch Ethash 前面我们分析了以太坊挖矿的源码,挖了一个共识引擎的坑,研 阅读全文
摘要:
DAG是公认的下一代区块链的标志。本文从算法基础去研究分析DAG算法,以及它是如何运用到区块链中,解决了当前区块链的哪些问题。 关键字:DAG,有向无环图,算法,背包,深度优先搜索,栈,BlockChain,区块链 图 图是数据结构中最为复杂的一种,我在上大学的时候,图的这一章会被老师划到考试范围之 阅读全文
摘要:
狗年吉祥,开工利是,我们继续研究以太坊源码。从本篇文章开始,我们会深入到以太坊核心源码中去,进而分析与研究以太坊的核心技术。 关键字:拜占庭,挖矿,矿工,分叉,源码分析,uncle叔块,agent,worker,事件监听 本文基于go ethereum 1.7.3 stable源码版本。源码范围主要 阅读全文
摘要:
智能合约 这两天被老大搞去搬砖,学习计划有变但无大碍,这篇文章将仔细分析智能合约相关内容。 关键字:智能合约,remix,Solidity,truffle,geth,leveldb,datadir,ganache,web3j 合约 合约也称合同、协议,是甲乙双方参与的,制定一系列条目规范双方权利与义 阅读全文
摘要:
"上一篇文章" 介绍了以太坊的基础知识,我们了解了web3.js的调用方式是通过以太坊RPC技术,本篇文章旨在研究如何开发、编译、运行与使用以太坊RPC接口。 关键字:以太坊,RPC,JSON RPC,client,server,api,web3.js,api实例,Postman rpc简介 RPC 阅读全文
摘要:
关键字:Go语言,管道,取消机制,并发,sync.WaitGroup,包引用,通道,defer,select GO并发模式:管道与取消 简介 Go的并发能力可以使构建一个流数据管道变得非常容易,并且可以高校地使用机器I/O和多核处理器。这篇文章展示了一些例子,包括管道,对操作失败的处理技术。 管道的 阅读全文