
xuperchain
glowd
主要关注中间件,分布式,高并发,大数据;
现在发现区块链很神奇,想要明白中本聪是如何能够构想出这么严谨的系统
展开
-
xuperchain源码分析-智能合约
XuperBridgeXuperBridge为所有合约提供统一的合约接口,从抽象方式上类似于linux内核对应于应用程序,内核代码是一份,应用程序可以用各种语言实现,比如go,c。类比到合约上就是各种合约的功能,如KV访问,QueryBlock, QueryTx等,这些请求都会通过跟xchain通信的方式来执行,这样在其上实现的各种合约虚拟机只需要做纯粹的无状态合约代码执行。此处的合约就是真正的可执行的智能合约,和刚才分析的ContractInterface不同智能合约类设计合约部署看一下wa原创 2021-09-15 18:48:09 · 5478 阅读 · 0 评论 -
xuperchain源码分析-交易
以一个简单的交易为例:./xchain-cli transfer --to czojZcZ6cHSiDVJ4jFoZMB1PjKnfUiuFQ --amount 10 --keys data/keys/ -H 127.0.0.1:37101xuperchain内部的执行流程如下:原创 2021-09-15 17:37:08 · 270 阅读 · 0 评论 -
xuperchain源码分析-核心数据结构
XChainCore ,保存区块链所有核心数据信息type XChainCore struct { con *consensus.PluggableConsensus Ledger *ledger.Ledger Utxovm *utxo.UtxoVM P2pSvr p2p_base.P2PServer LedgerKeeper *LedgerKeeper bcname string log .原创 2021-09-15 15:15:03 · 262 阅读 · 0 评论 -
xuperchain源码分析-接口
XchainServer,TCPServer的对外接口// XchainServer is the server API for Xchain service.type XchainServer interface { // SelectUTXOBySize merge many utxos into a few of utxos SelectUTXOBySize(context.Context, *UtxoInput) (*UtxoOutput, error) // PostTx p原创 2021-09-15 15:12:54 · 227 阅读 · 0 评论 -
xuperchain源码分析-启动过程
xuperchain的启动分为两个比较大的过程,一个是节点的初始化,另一个是挖坑的初始化原创 2021-09-15 15:04:58 · 152 阅读 · 0 评论 -
xuperchain源码分析-合约
这里的合约定义更多的是自动执行约定,而不是预置了一个带有合约地址的合约代码,当时看源码时候就产生过疑惑合约类图Contract表示一种自定义执行约定,调用合约的方式必须是交易,交易到区块上面打包。每一个合约实现,都被称为一个module,上面就有4个module,tdpos,kernel,consensus,proposal。tdposXPoS是超级链的一种改进型的DPoS算法,他是在一段预设的时间长度(一轮区块生产周期)内选择若干个验证节点,同时将这样一轮区块生产周期分为N个时间段, 这若干个原创 2021-09-15 14:53:18 · 6655 阅读 · 0 评论 -
xuperchain源码分析-插件机制
背景因为最近我们在自研底层联盟链,所以调研了现在市面上的主流的公链,联盟链。xuperchain基于插件机制,实现多个核心模块可替换,包括存储,共识,网络等。下面我们就来看看这个插件机制是如何实现的PluginMgr 插件管理器// PluginMgr defines the data struct of plugin manager,只管理配置文件,不管理实例type PluginMgr struct { pluginConf map[string]map[string]confNode原创 2021-09-15 14:45:27 · 237 阅读 · 0 评论