石墨烯开发指南三
发布于 2 个月前 作者 stvenyin 1245 次浏览 来自 EOS
  • 远程过程调用¶
  • 预先
  • 此页面假定您在8090本地运行并侦听端口的完整节点或钱包。
  • 注意
  • 可用命令集取决于您连接的应用程序。
  • 调用格式
  • 在Graphene中,RPC调用是无状态的,可通过常规的JSON格式化RPC-HTTP调用访问。JSON调用的正确结构是
  • {
  • “jsonrpc” : “2.0” ,
  • “id” : 1
  • “method” : “get_accounts” ,
  • “params” : [[ “1.2.0” , “1.2.1” ]],
  • }
  • 该get_accounts调用在完整节点的databaseAPI中可用,并且只接受一个参数,即帐户ID数组(此处为:) 。[“1.2.0”, “1.2.1”]
  • 用curl调用示例
  • 如可以通过curl以下方式提交电话:
  • curl --data ‘{“jsonrpc”:“2.0”,“method”:“get_accounts”,“params”:[[“1.2.0”,“1.2.1”]],“id”:1}’ http ://127.0.0.1:8090 / RPC
  • 成功通话
  • API将返回一个正确的JSON格式化响应id ,其响应与区分后续调用的请求相同。
  • {
  • “id” :1 ,
  • “结果” : … 数据…
  • }
  • 错误
  • 如果出现错误,结果答案将带有error属性和详细说明:
  • {
  • “id” : 0
  • “error” : {
  • “data” : { 
    
  •   “code” : error - code ,
    
  •   “name” : “.. exception of exception ..” 
    
  •   “message” : “.. exception of exception ..” ,
    
  •   “堆栈” : [  ..  堆栈 跟踪 ..  ],
    
  • },
    
  • “代码” : 1 ,
    
  • },
  • }
  • 备注
  • 电子钱包特定命令(例如transfer市场订单)仅在连接时可用,cli_wallet因为只有钱包具有私钥和签名功能,而某些呼叫仅在钱包解锁时执行。
  • 完整节点提供一组API,其中只有database通过RPC 可以进行调用。默认情况下受限制的呼叫(即network_node_api)或受配置限制的呼叫 无法通过RPC访问,因为登录需要使用状态协议(websocket)。
回到顶部