Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

NEO 客户端插件

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

1 Y  I* k" S6 Y' a安装插件
+ R1 y7 N* T7 F2 s2 |要安装插件,在客户端根目录下新建 Plugins 文件夹(注意首字母大写),然后将解压出来的插件拷贝到其中,如下所示在neo-cli根目录下安装:
  S) G$ ^; _: |  f/ X7 M) ?  y( ?; _9 T
插件中的 API 接口
8 n4 J6 o, z3 o* b( l: G  @getapplicationlog 方法
( u: t* v* W4 p& u+ [根据指定的 NEP-5 交易 ID 获取合约日志。完整的合约日志会记录到 ApplicationLogs 目录。6 Y* J( R0 _% I7 y
此方法由插件提供,需要安装 ApplicationLogs 插件才可以调用。, B4 ^  P2 b8 I; j8 O& d) ?0 j
参数说明  ^* z- o0 i; q) b( `8 X/ T
txid:交易ID
; e$ @) ?6 w$ i! N+ c调用示例- [( A9 m/ e- S: u
请求正文:4 v/ i+ @5 o8 [, z& Z
{
( Q2 R% ]/ r0 j# N6 l( w* J  "jsonrpc": "2.0",
% G6 d+ D- m6 j/ M, E% i( h) }  "method": "getapplicationlog",8 L7 \$ A0 v  m: _# B6 J; x, v
  "params": ["0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07"],: [& c$ h- }5 B& M) w
  "id": 1) R0 r- r8 s$ w. [3 {
}  R0 N7 L2 ~% Q% K( }* J6 i& A, Y* p
响应正文:
# K. t$ @- g4 C" {& c) h{
- \" @# J7 ?( N3 J, }) ~    "jsonrpc": "2.0",' `4 f: g1 F( u5 w$ S+ Y, V4 w
    "id": 1,
+ K" i. r0 \% a9 k  T5 `( R    "result": {
( F( r- G3 p& m        "txid": "0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07",
" G. Q9 z# F" c) `$ b3 ?5 I        "executions": [% _/ w! `( c" s8 [" b
            {
+ E0 ]! r' E3 S4 d2 Y, U6 j. a6 ]* W                "trigger": "Application",
  Y" p3 v) s( \3 V7 U3 C                "contract": "0x0110a8f666bcc650dc0b544e71c31491b061c79e",6 T! q! A, _# w$ X; C
                "vmstate": "HALT, BREAK",( ~. T2 s3 ~7 t1 K, [6 a
                "gas_consumed": "2.855",
) {5 C8 l8 Z9 w' Z7 ^8 ^+ n                "stack": [
/ q2 ^! d* [0 b. b: q2 F- ^                    {5 o) e. z) o6 b( Y+ T6 l' k1 o
                        "type": "Integer",6 D0 J, s( @3 B0 q. W$ ^
                        "value": "1"9 t; d. f' N6 q+ u9 d! o8 l
                    }
$ ^- K) \) K3 x' r3 V                ],
% j" j3 X  S3 y/ V: p7 u                "notifications": [
6 I5 ~( W) V0 v+ s                    {
3 F5 U  z$ N' A                        "contract": "0xb9d7ea3062e6aeeb3e8ad9548220c4ba1361d263",4 `- f# L  h0 ^/ f6 W5 v' \
                        "state": {
2 v  b: l/ L; I- x                            "type": "Array"," r9 f" Z6 l0 A( ^" o$ Y
                            "value": [, T3 ~1 y/ n% C5 E, y  ?+ h3 {# l
                                {9 p2 d" u' w7 [, m( `" ?% _
                                    "type": "ByteArray",
6 ?8 O" J! V" r  f$ {                                    "value": "7472616e73666572"2 i$ x# o7 |" S! i4 V$ a' o' j7 W
                                },6 {- u' l) Y5 ?: Q
                                {
- A4 K; t; [' d9 u9 ^                                    "type": "ByteArray",! d4 {6 A2 ^7 |7 a
                                    "value": "e3069da508f128069a0cd2544b0728ccbacdfb43"0 {, l2 Y3 y" z0 x, Y4 Z8 u
                                },
) V$ X4 }6 m$ i  O" K7 B                                {
" [1 v% D  j; u7 \. O* k( u$ q                                    "type": "ByteArray",# `. _; Z/ ?; t! V
                                    "value": "d142f89e93b2717426a8130c37dad93aad70cff5"
2 k) M3 Z3 N7 ]! U* V- e- Y  |6 g                                },
$ Z' Y8 I. h! L6 h( i; D# F                                {
9 s' j; \& o3 n, w+ B/ \                                    "type": "ByteArray",; R- i; L, j. f6 H+ W* ?4 k
                                    "value": "00e1f50500000000"" K' f9 X/ f9 n8 z
                                }" Y, e8 `, o" v1 V9 R
                            ]
* f8 i9 t  c+ y& R! `7 J6 a4 [                        }. `: g( T; K- n
                    }
" j5 T$ h, j7 W) B  a" w                ]
' q( w7 C, i: @8 `1 q( p6 P0 \" O            }# R, O5 }+ c1 O. ~/ R
        ]. k  o4 _9 B+ v
    }
& ^0 a! Q2 }, V# p7 J  g0 S: O}8 {4 C2 P$ Z: N9 x: _0 ~! O$ k
说明:" |0 r3 z5 X: s7 a  T
其中 gas_consumed 表示该交易消耗的 gas 数量,即交易手续费。每笔交易会有10 gas 的免费额度。如果数量小于10,则不收取手续费,如果大于10,那么收取超过10的那部分作为手续费并向上取整。例如 gas_consumed = 12.3,那么实际收取的手续费为3 gas
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

朋友一起走 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    16