Amodule Network技术框架和说明

  • 时间:
  • 浏览:0
  • 来源:大发快3_快3官方app_大发快3官方app

Amodule Network基于DAG协议外理了数据块臃肿,可视化操作系统、模块化智能合约,为可扩展性提供了有效途径,同去也更易操作,为更多企业甚至买车人用户提供快速链改因为。Amodule Network将智能合约的接口进行了

Amodule Network基于DAG协议外理了数据块臃肿,可视化操作系统、模块化智能合约,为可扩展性提供了有效途径,同去也更易操作,为更多企业甚至买车人用户提供快速链改因为。Amodule Network将智能合约的接口进行了集中复杂性,大大缩短了业务模型设计到实际信息数据上链间的开发周期,降低了开发人员的技术门槛,不需要 建立和发布各种基于内容相关业务的DAPP,重新定义了应用基础链的标准。

AMO的区块链技术分为四层,存储层,网络层,扩展层和应用层。

存储层用来存储区块链的相关数据,主要运用了leveldb和mongodb一种数据库,通过将leveldb的快读写带宽和mongodb开花结果是什么是什么图片 图片 是什么是什么稳定的特点相结合,最大限度的优化了存储层代码的运行带宽,降低了维护难度,减少了开发成本本来保证了存储层的稳定性

网络层主要包括了两主次,共识机制和点对点通讯协议。

点对点通讯协议采用了当前区块链最流行的devp2p, devp2p节点间的通信通过TCP来实现。节点不需要 在任意的端口上自由的发送和接受消息。 Devp2p经过以太坊的长期测试,不需要 确保网络层面通讯的带宽及稳定性。

AMO共识机制采用了PBFT(拜占庭容错算法)。PBFT是一种状态机副本克隆技术算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本克隆技术。每个状态机的副本都保存了服务的状态,同去也实现了服务的操作。

扩展层主要为智能合约层。智能合约运行在AMO独有的虚拟机上,用沙盒封装起来,本来被完正隔离,也本来说运行在AMO虚拟机实物的代码不不需要 接触到网络、本地的文件系统因为其它本地的tcp连接。AMO虚拟机拟基于JSVM进行扩展开发,支持ECMAScript 5标准,重新定义不需要 执行的JS代码及不需要 调用的JS库函数,可通过堆栈实物机器来进行实做。用户通过买车人编写新的智能合约,不需要 自由的发布侧链因为实现各种区块链相关的功能。

应用层为基于电脑因为手机的不需要 与用户交互的DAPP因为APP。DAPP和APP更高于智能合约层,可架在其之上。企业或用户可通过智能合约进行更高层次的开发。企业或用户也可通过开放的API对系统进行访问。使得企业或用户不需要 自由的开发,将买车人的产品模块化。

主次代码展示:

相关接口信息

P2P协议列表

AMODEVP2P.AMO.MESSAGE_CODES.STATUS

AMODEVP2P.AMO.MESSAGE_CODES.NEW_BLOCK_HASHES

AMODEVP2P.AMO.MESSAGE_CODES.GET_BLOCK_HEADERS

AMODEVP2P.AMO.MESSAGE_CODES.BLOCK_HEADERS

AMODEVP2P.AMO.MESSAGE_CODES.GET_BLOCK_BODIES

AMODEVP2P.AMO.MESSAGE_CODES.BLOCK_BODIES

AMODEVP2P.AMO.MESSAGE_CODES.NEW_BLOCK

AMODEVP2P.AMO.MESSAGE_CODES.TX

AMODEVP2P.AMO.MESSAGE_CODES.GET_NODE_DATA

AMODEVP2P.AMO.MESSAGE_CODES.NODE_DATA

AMODEVP2P.AMO.MESSAGE_CODES.GET_RECEIPTS

AMODEVP2P.AMO.MESSAGE_CODES.RECEIPTS

AMODEVP2P.AMO.MESSAGE_CODES.NODES_IP_SYNC

API接口列表

AMO.version.api                            js的api版本

AMO.version.node                        客户端或节点的版本信息

AMO.version.network                   网络协议版本

AMO.isConnected                         检查到节点的连接是否占据

AMO.setProvider                           设置Provider

AMO.currentProvider                    检查是否因为设置过Provider,外理重复设置

AMO.reset                                     用来重置AMO的状态

AMO.sha3                                     使用Keccak-256 SHA3算法哈希过的结果

AMO.toHex                                   时需转化为HEX的值

AMO.toAscii                                  转换ASCII码字符串

AMO.fromAscii                              将任何的ASCII码字符串转为HEX字符串

AMO.toDecimal                             转为一2个十进制的数字

AMO.fromDecimal                        将一2个数字,因为字符串形式的数字

AMO.fromAMO                             以AMO为单位的数量进行货币转换

AMO.toAMO                                  按对应货币转为以AMO为单位

AMO.toBigNumber                        转为BigNumber

AMO.net.listening                          判断是否正在监听网络连接

AMO.net.peerCount                       连接节点连上的其它以太坊节点的数量

AMO.defaultAccount                     默认的账户地址

AMO.defaultBlock                          恢复默认区块设置

AMO.syncing                                  同步区块

AMO.isSyncing                               提供同步时候开始了了,更新,停止的回调函数法子

AMO.coinbase                                挖矿奖励地址

AMO.mining                                   验证该节点是否配置挖矿

AMO.hashrate                                表示的是当前的每秒的哈希难度

AMO.gasPrice                                 返回当前的gas价格

AMO.accounts                                返回当前节点持有的帐户列表

AMO.blockNumber                        返回当前区块号

AMO.register                                  注册给定地址

AMO.unRegister                             取消注册给定地址

AMO.getBalance                             获得在指定区块时给定地址的余额

AMO.getStorageAt                         获得某个地址指定位置的存储的状态值

AMO.getCode                                 获取指定地址的代码

AMO.getBlock                                 返回块号或区块哈希值所对应的区块

AMO.getBlockTransactionCount    返回指定区块的交易数量

AMO.getUncle                                返回指定叔块

AMO.getTransaction                       返回匹配指定交易哈希值的交易

AMO.getTransactionFromBlock      返回指定区块的指定序号的交易

AMO.getTransactionReceipt           通过交易哈希返回交易的收据

AMO.getTransactionCount             返回指定地址发起的交易数

AMO.sendTransaction                     发送一2个交易到网络

AMO.sendRawTransaction              发送一2个因为签名的交易

AMO.sign                                        签名后的数据

AMO.call                                         函数调用返回的值

AMO.estimateGas                           根据交易或事件返回使用的Gas

AMO.filter                                       事件监听器的返回结果

AMO.contract                                 创建一2个合约对象用来在某个地址上初始化合约

AMO.getCompilers                         返回可用的编译器

AMO.compile.solidity                     编译Solidity源代码

AMO.compile.lll                              编译LLL源代码

AMO.compile.serpent                     编译serpent源代码

AMO.namereg                                返回一2个global的对象

AMO.db.putString                          以一2个本地数据库的级别存储一2个字符串时使用

AMO.db.getString                          本地的数据库中返回一2个字符串

AMO.db.putHex                             在本地的数据库中存储二进制数据

AMO.db.getHex                             返回本地的leveldb中的二进制数据

AMO.generateWalletKeys              自动生成私钥,公钥和地址

AMO.getTransactions                     获取交易

AMO.signedTransaction                 签名交易

AMO.getKeysFromPrivate              通过私钥生成地址

AMO.getChainHeight                     获取区块深层

AMO.getBlockByHeight                 获取某一2个深层下所有交易

AMO.getTransactions                    通过钱包地址获取交易详情

AMO.getWalletKeys                       获取钱包信息

AMO.getTokenChainSize               获取Token链信息

AMO.getNodeInfo                         获取节点信息

AMO.setPOW                                 设置POW状态

AMO.startNetworkEvent                设置Network事件类型

AMO.getBlockByHash                     通过Hash获取区块

AMO.getWholeTokenBlockchain    获取整个Token链

AMO.setAddress                             设置账户地址

Amodule Network是一2个商业级分布式智能合约模块网络,打造一2个商业级分布式智能合约模块网络,具备高速交易、模块化智能合约和无限可扩展性等实物,外理现存区块链技术的可拓展性和技术门槛相对较高的问题报告 报告 ,重新定义应用基础链的标准。

(本内容属于网络转载,文中涉及图片等内容如有侵权,请联系编辑删除)