Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

NEO 客户端插件

朋友一起走
59 0 0
NEO 客户端插件
# A9 ?2 _/ c; t0 K从 NEO 2.9.0 开始,一些附加功能被独立封装在插件中用以调用,目的是为了提升节点的安全性,稳定性和灵活性。用户可以自行选取所需要的扩展功能而不用每次在启动 NEO-CLI时通过附加参数来调用,避免了很多人为的失误操作同时简化了打开钱包,调用 API 等一系列繁琐的指令。点击此处下载 Plugins。, ?# i$ i* C  y! c) g& R
插件功能
ApplicationLogs在 RPC 模式下自动同步智能合约日志(ApplicationLogs),目前日志已经改为以 LevelDB 格式存储。交易所必选
ImportBlocks同步离线包。必选
RpcSecurity提升 RPC 安全。可选
SimplePolicy启用共识的简单策略。搭建私链必选
StatesDumper导出 NEO-CLI 状态数据。可选

; D$ t" P% T5 A9 ^6 q安装插件2 L+ F7 V: D* B" @( r9 [
要安装插件,在客户端根目录下新建 Plugins 文件夹(注意首字母大写),然后将解压出来的插件拷贝到其中,如下所示在neo-cli根目录下安装:
* h, l3 _) \) i  l- D+ I# ]4 V) ]7 m/ @7 R: ]9 z
插件中的 API 接口
  N# a- q  I% I+ a; b: N  |1 igetapplicationlog 方法
- B4 g/ C( P: v, j) f根据指定的 NEP-5 交易 ID 获取合约日志。完整的合约日志会记录到 ApplicationLogs 目录。
5 Z: q8 f. b+ r( n! l2 ?/ o9 ?% a此方法由插件提供,需要安装 ApplicationLogs 插件才可以调用。
- L+ |9 v- x/ Y, W, y0 M& ?& N参数说明
6 B+ k3 u8 L) y) G9 otxid:交易ID3 x# ?/ n/ R; _& ^4 f
调用示例, m9 h9 n/ o' z8 c
请求正文:
" O  C0 s9 @! t9 r$ ~{9 a* ~" Q  ]2 d5 x0 V) s; t
  "jsonrpc": "2.0",
- U7 Y/ }* r4 g2 x( s0 f( [# T  "method": "getapplicationlog",
4 v# @+ k8 u) b0 c0 F" {* x  "params": ["0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07"],* D7 Q1 z* q9 u
  "id": 1
( `( T6 O% h0 h- b; |/ R2 M}+ b& }3 {! c/ j* ~
响应正文:) _! b3 u2 `4 q1 [$ X  j7 C
{
/ E4 c9 `$ W/ b8 A9 k9 A& z    "jsonrpc": "2.0",
2 `- j6 T, A+ V5 m6 X  b( k; R    "id": 1,
+ F+ R5 c7 G* ^2 i    "result": {
* V. T- v( m8 l2 S        "txid": "0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07",
! Z/ g+ Y$ Z, s3 F5 w! l+ ?6 _        "executions": [& \' |1 |" ^+ v- i4 N
            {$ f- v' ~. E" J
                "trigger": "Application",2 ~" p3 V* U0 H3 J7 ^
                "contract": "0x0110a8f666bcc650dc0b544e71c31491b061c79e",& j8 }5 m" _9 ]; Q8 J3 \0 {% L
                "vmstate": "HALT, BREAK",- N: @2 n8 }( \9 f/ t1 Q( v
                "gas_consumed": "2.855",
, [8 g6 v% q9 K3 F                "stack": [
& \* s0 e/ \1 y9 F% l. j2 x5 }2 f                    {: U' @" _' h# Y; L5 {1 t
                        "type": "Integer",1 p. L9 m' j# g* F5 U
                        "value": "1"% Z9 r8 e, i5 X5 d% D0 x
                    }
# r; ~9 J' c) w5 y1 b                ],% j' u& u1 v/ a% b7 X( d, r
                "notifications": [1 S  o! q. t& l
                    {; ^" _! p+ _2 e+ V1 L4 C% y, K
                        "contract": "0xb9d7ea3062e6aeeb3e8ad9548220c4ba1361d263",
# Q( h  h& r- j) v                        "state": {( i. ~4 g0 ]& h( Q  q
                            "type": "Array",$ C: w7 Y0 P1 Z$ W- @! L) q
                            "value": [  l* ~# K1 v. ?5 w) }! j, `
                                {
) x2 p- G- ]# X. N  U( g1 U                                    "type": "ByteArray"," ^( T9 d  P% e5 c
                                    "value": "7472616e73666572"
% C  d4 C0 E' ]) k# V$ I: Y                                },
) c' u( }& y! o! D+ {                                {+ D  }% L! o9 F
                                    "type": "ByteArray",
; D; _  K# A8 j9 O                                    "value": "e3069da508f128069a0cd2544b0728ccbacdfb43"
" _2 C: c. R  _  C, g  k) w7 F                                },
: e/ G' {; }* p9 Z, h) m' `                                {
5 S: J" ^( c+ b. p5 c; w                                    "type": "ByteArray"," }0 }; _! P! }) c
                                    "value": "d142f89e93b2717426a8130c37dad93aad70cff5"5 U1 ?; i1 ^# Q) ?) C# D, H
                                },
& O  v' E/ T5 t% c8 ]) U. ^" K                                {4 v9 M  l" h( t5 f5 B
                                    "type": "ByteArray",5 k4 ?, _* ]2 t9 a$ a
                                    "value": "00e1f50500000000"- M# f  K  H5 A; g, D4 V
                                }
5 @* j# X6 V5 ?! \1 h. P                            ]
  W9 ?: E# \. w: e5 h8 k                        }* j4 m" j6 P3 E6 t
                    }
6 m  |# e, |! t. [3 L                ]
7 |& M8 y1 @* z( @: T8 R! K0 {( V6 K            }" P- j8 M  F% j9 M0 c$ O
        ]+ h- G0 l+ i' U
    }- O$ G8 x3 Z& E3 r. M! v6 Y
}+ I5 |9 }  O9 `3 ^
说明:' j+ c( O  i  g' j; |
其中 gas_consumed 表示该交易消耗的 gas 数量,即交易手续费。每笔交易会有10 gas 的免费额度。如果数量小于10,则不收取手续费,如果大于10,那么收取超过10的那部分作为手续费并向上取整。例如 gas_consumed = 12.3,那么实际收取的手续费为3 gas
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

朋友一起走 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    16