美文网首页Substrate波卡一起学区块链大学
如何用RPC查询Substrate storage(2)

如何用RPC查询Substrate storage(2)

作者: goldenfiredo | 来源:发表于2020-01-13 13:59 被阅读0次

    Substrate底层提供了丰富的RPC访问接口和链上交互,具体见https://polkadot.js.org/api/substrate/rpc.html。Substrate的RPC server实现了HTTP和WebSocket两种协议供客户端访问,默认的服务端口分别是9933和9944。实现RPC HTTP client比较简单,使用支持HTTP协议的第三方库即可,比如reqwest。这里介绍使用第三库ws封装一个RPC WebSoket client 模块,通过它可以方便快捷访问Substrate RPC server。

    首先在cargo.xml加入ws库:

    然后定义WsClient struct,实现几个handler:

    on_open()方法当client和server建立连接后被调用,它向server发送数据请求;on_message()方法当server返回数据时被调用,on_message_fn是一个回调函数,负责把数据发送给接收方。on_get_request_msg()就是具体的回调函数。

    on_message()是模块中唯一一个public函数,它首先建立一个异步通信channel,得到发送端和接收端的通信句柄,然后调用ws库的connect()方法和server建立连接,设置回调函数,发送数据,最后等待10秒时间把接收到的数据作为函数返回结果。

    可用如下方式使用本模块:

    That's all.

    相关文章

      网友评论

        本文标题:如何用RPC查询Substrate storage(2)

        本文链接:https://www.haomeiwen.com/subject/etwgactx.html