ViewClientActor 对 Query 动静的处理惩罚焦点:首先查询自身有无查询内容所处的分片信息,如有就挪用自身查询(包罗挪用虚拟机执行要领等),如无则路由到其他节点来处理惩罚。
以上流程可以参考如下简图:
在 ClientActor 中可以看到对该动静回收 process_tx 处理惩罚:
create-near-app 是一个用来快速生成项目基本框架的模板东西,今朝支持 react 模板和原生模板。建设项目
NEAR 智能合约今朝支持回收 AssemblyScript 或 Rust 举办编写。在构建项目时,智能合约最终会被编译成 wasm 文件,存放在 out 目次下,在 gulp 的设置文件中可看到相关逻辑:
在 myapp/main.js 里会先挪用 nearlib 的要领来建设和 near 节点的毗连以及实例化合约要领,在 myapp 项目里,实例化时指定了我们所要挪用的 view 要领——welcome。
合约陈设的挪用干系图参考如下:
由下图可知,http 处事主要回收 JsonRpcHandler 来处理惩罚各个请求。
可以看到,near deploy 通过 neardev 文件夹下的账户执行了 nearlib 的 deployContract 要领,该要领挪用 signAndSendTransaction 发送陈设合约的生意业务:
nearcore 的实现中回收了 actix 框架举办并发与异步处理惩罚,actix 是一个基于 Actor 的并发模子,通过动静通报来互换数据并行处理惩罚。情况安装
下图为一个建设乐成的根基项目。个中,hide 认真存放主要代码,assembly 存放合约代码,neardev 则用来存放一些账户设置。
之后内存池的生意业务会颠末共鸣存储在区块链上,这样一来,我们的合约也就存在了区块链上。
什么是 nearcore
建设账户并授权
near-shell 是一个用来与 near 协议举办交互的呼吁行东西,基于 nearlib 实现。nearlib 是和 near 协议交互的 Javascript SDK。项目建设完成后,如无 NEAR 账户,先前往 https://wallet.nearprotocol.com/ 钱包建设一个账户,并在项目目次下执行 near login,按照操纵步调举办账户授权,此时会在 neardev 文件夹下建设对应账户文件。
send_tx_commit 要领的焦点是向其绑定的 ClientActor 发送一个种别为 Transaction 的 NetworkClientMessages 动静。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。