摘要:
近几年国内外声名鹊起的Rust编程语言,声名远播,影响力巨大,到底是什么让它如此强大?本文适合作为一篇初级入门的文章。本文的优势是通过一个常见的例子作为线索,引出Rust的一些重要理念或者说特性,通过这些特性深刻体会Rust的魅力。 阅读全文
摘要:
![](https://img2020.cnblogs.com/blog/1233551/202102/1233551-20210223184013960-1528384059.png) 阅读全文
摘要:
2011年百度某峰会,李彦宏首次提出”互联网思维“,从此这个词在商业大地光芒闪耀。也是从那个时间开始,互联网产业迎来了盛大的发展周期。人类社会的发展总是伴随着一轮又一轮的周期,从前市场的宠儿例如能源、制造、基建、金融、通信、甚至是软件,在互联网蓬勃发展以后,他们都被贴上了“传统”的前缀同时都在几年的 阅读全文
摘要:
信道的可靠是BFT的前提。(参见两军问题)
本文通过跟踪BFT-SMaRt通信层源码,研究节点间可靠信道的实现原理。本文涉及区块链方面的内容较少,重点研究使用Java语言建立可靠网络通道的技术,请选择性阅读。
通信层系统,是分布式网络中获得可靠且认证的点对点通道的保证。BFT-SMaRt的安全通信是基于SSL/TLS标准。
节点之间建立互为信任的Socket IO连接,实现点对点的消息处理。
节点与客户端之间建立健壮性、可用性更高的Netty NIO连接,实现大规模的消息处理。
本文主要介绍第一种情况:在BFT-SMaRt中,作为服务端的节点之间的连接构建方法。 阅读全文
摘要:
区块链的分布式网络需要解决的拜占庭问题,在此就不多介绍了。在此之前,PBFT、POW、POS以及DPOS,这些拜占庭容错类的算法由于研究人员的学术或者性能需求,大多是由Go语言或C++写成。这对于拥有广大群众基础的Java从业者是不友好的,也是区块链大规模商业化的阻力。因此,BFT-SMaRt最大的优势或者特色就是**使用了Java语言实现,同时可靠、模块化、接口灵活**。 阅读全文
摘要:
最近在处理智能合约的事务上链问题,发现其中仍旧有知识盲点。原有的认识是一个事务请求会从客户端设备打包签名,然后通过RPC传到非出块节点,广播给超级节点,校验打包到可逆区块,共识确认最后变为不可逆区块。在执行事务完毕以后给客户端一个“executed”的状态响应。基于这个认识,本文将通过最新EOS代码 阅读全文
摘要:
关键字:勘误,delegatebw,undelegatebw,listbw,资源管理,抵押,解抵押,返还资源 EOS中,资源抵押与解抵押是通过一对命令完成的:delegatebw,undelegatebw。 准备 首先我们准备两个账户,分别是test11111111(以下简称账号A)和test111 阅读全文
摘要:
关键字:5G,区块链,人工智能,物联网,产业互联网 时间 最近半年的时间,博客的更新近乎停滞。这期间笔者将之前所有EOS相关的技术知识整理总结出了一本书 "《EOS实战与源码分析》" 。出书的过程是对过往知识的复习,梳理。当然这并不是博客更新缓滞的理由,而我想最大的原因可能是我们悄无声息地又站在了一 阅读全文
摘要:
《EOS实战与源码分析》 https://item.jd.com/12644260.html 阅读全文
摘要:
关键字:REX,资源交易,资源租赁,系统费用,bancor,成熟期,EOS,eosio.system,voting EOSIO 智能合约在v1.6.0版本增加了一个system合约使用的例子,可提供EOS资源交易。以供社区评估、调整和构建。REX只是智能合约层面提供的功能,而并没有相应的用户界面,部 阅读全文
摘要:
系统合约在链启动阶段就会被部署,是因为系统合约赋予了EOS链资源、命名拍卖、基础数据准备、生产者信息、投票等能力。本篇文章将会从源码角度详细研究system合约。 关键字:EOS,eosio.system,智能合约,name类型,native.hpp,newaccount,bidname,core 阅读全文
摘要:
目前EOS已经迎来了1.5.x时代,很多内容都有了较大的改变。其中智能合约的工作流程发生了改变,EOSIO为智能合约提供了独立且功能完整的工具集eosio.cdt。该工具集基于WASM平台,可解耦于eos系统,更便携地完成智能合约的开发编译。此外eosio.cdt在底层优化上已经超脱于eos系统,使 阅读全文
摘要:
producer_plugin是控制区块生产的关键插件。 关键字:producer_plugin,同步区块的处理,pending区块,生产区块,最后不可逆区块,生产循环,生产安排,水印轮次,计时器,确认数 producer_plugin生命周期 EOS的所有plugin都有共同的基类,因此每个plu 阅读全文
摘要:
区块链的应用是基于http服务,这种能力在EOS中是依靠http_plugin插件赋予的。 关键字:通讯模式,add_api,http server,https server,unix server,io_service,socket,connection 通讯模式 EOS中,一个插件的使用要先获取 阅读全文
摘要:
EOS提供了大量的rpc接口,其中功能性最强,使用最频繁的一部分接口是EOS的行为核心,由chain_api_plugin提供,具体实现是在chain_plugin。 关键字:EOS,区块链,chain_plugin,chain_api_plugin,rpc,FC_REFLECT,反射,method 阅读全文
摘要:
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 阅读全文