Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

NEO 客户端插件

朋友一起走
60 0 0
NEO 客户端插件! D3 w4 B% I% u/ C/ x# ?1 _
从 NEO 2.9.0 开始,一些附加功能被独立封装在插件中用以调用,目的是为了提升节点的安全性,稳定性和灵活性。用户可以自行选取所需要的扩展功能而不用每次在启动 NEO-CLI时通过附加参数来调用,避免了很多人为的失误操作同时简化了打开钱包,调用 API 等一系列繁琐的指令。点击此处下载 Plugins。
) k: e" `4 P  @9 U4 a
插件功能
ApplicationLogs在 RPC 模式下自动同步智能合约日志(ApplicationLogs),目前日志已经改为以 LevelDB 格式存储。交易所必选
ImportBlocks同步离线包。必选
RpcSecurity提升 RPC 安全。可选
SimplePolicy启用共识的简单策略。搭建私链必选
StatesDumper导出 NEO-CLI 状态数据。可选
; P$ y: u2 G2 E# l( f( Z% u0 U( P# l
安装插件
* {+ {' E) M6 ?5 |! ?要安装插件,在客户端根目录下新建 Plugins 文件夹(注意首字母大写),然后将解压出来的插件拷贝到其中,如下所示在neo-cli根目录下安装:
) v' J3 A* Q5 O% g
; P1 D, M2 |6 n* y$ _. _插件中的 API 接口+ f' \! p7 b  d4 ]4 o0 A
getapplicationlog 方法6 ^' H5 e# C9 |) @' a/ W. r9 b$ A7 k
根据指定的 NEP-5 交易 ID 获取合约日志。完整的合约日志会记录到 ApplicationLogs 目录。
, I( K) T" C4 F2 w此方法由插件提供,需要安装 ApplicationLogs 插件才可以调用。
$ S9 F4 J9 |$ e. [1 K% \  _! Q9 u参数说明
; A+ q4 R  }- M  V, w3 u3 Btxid:交易ID1 h9 t  F2 w. K
调用示例
' Y5 Y& s, ?: v3 c2 X/ r& U9 G请求正文:
$ d+ p! Z7 t3 P# n7 x0 N{
( V, V2 q; `+ ^1 M) ?2 e2 e  "jsonrpc": "2.0",, f; t5 p" r$ ~7 I/ d- \: C+ V
  "method": "getapplicationlog",- T# p6 i- q5 _7 O, c, _
  "params": ["0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07"],# w+ O5 b0 G! ?3 }9 [7 y5 S
  "id": 12 }+ B# H' S3 N$ F7 d* U
}
) O4 u( D& a1 g9 J% z6 N" R响应正文:( `0 \* P8 [1 c. @* _
{
1 T8 ?" e, ~7 \5 K! e* Q9 Y& ~    "jsonrpc": "2.0",
7 [7 y1 w, O  \4 q4 D    "id": 1,
: f; p1 q5 y! A, f0 X  L    "result": {
9 D' @4 K: m7 D3 H+ A* [        "txid": "0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07",8 s$ ?7 G3 \1 Y! ^
        "executions": [
1 a7 I! r7 a+ ?& s            {' ~) m9 X1 Q5 `. M# t, V
                "trigger": "Application",- i: U) p1 [9 g
                "contract": "0x0110a8f666bcc650dc0b544e71c31491b061c79e",
, P, C8 z& Q- M3 G2 O/ ]4 `( T( ?                "vmstate": "HALT, BREAK",
$ B) [4 Y9 A) e& x9 `                "gas_consumed": "2.855",4 U+ W& z) M! B5 m( |& G
                "stack": [7 ~9 X9 N/ Q* K+ Q
                    {
5 H/ [: O" H/ p# \! s                        "type": "Integer",$ ^: `. k% W$ A* z6 T6 _
                        "value": "1"4 f( G2 Q  Z0 `
                    }! F; B" I6 L4 c. Z/ p, R8 B' ]
                ],
0 u* |/ b: Y2 A; d                "notifications": [
9 Q( d* t3 Q/ A6 r; Y: c6 P* {                    {  a5 E" N9 L  R- S
                        "contract": "0xb9d7ea3062e6aeeb3e8ad9548220c4ba1361d263",
  ^: \0 G# E: a+ S, k                        "state": {, J6 o; h/ g1 L/ ]0 g0 K
                            "type": "Array",! Y- C8 S2 M1 T0 `9 H% q* t# b
                            "value": [
* X3 a, g' g9 U9 p9 v                                {
2 i7 {+ J! b6 o: }  g                                    "type": "ByteArray",
! W" a' c; J  t. `( k, Y                                    "value": "7472616e73666572": J0 L& C0 E+ {( ?' F% P
                                },' n+ A: }2 i# b- E, a+ v- U( w
                                {! T& d) R+ j1 V/ f5 W1 [
                                    "type": "ByteArray",
- l3 ~7 ~7 b( L" Q, ?+ i                                    "value": "e3069da508f128069a0cd2544b0728ccbacdfb43"
  n8 u! l5 `4 S                                },7 B# y( }. c, E
                                {9 G0 V' ^( r- p. T0 ~! M" J
                                    "type": "ByteArray",
+ J1 b" S4 t. L$ ]                                    "value": "d142f89e93b2717426a8130c37dad93aad70cff5"0 V! M: L, [9 r
                                },
! g* U: o' @; _6 h, `                                {
5 b3 K' W+ q" D; o; B                                    "type": "ByteArray",
( |: _- d4 R' A( }5 F3 K  Q0 n( X7 L                                    "value": "00e1f50500000000"
' E& i; Y  Q2 T                                }
: F6 R8 P$ X# z" X  \( i                            ]5 J- I/ u5 O( ^9 `
                        }
" u. t5 O) f$ N7 w                    }( p* Q! V6 U, y/ l* `7 a
                ]
; }, g5 `: [, F            }1 |6 S9 z% N# Z) x$ R
        ]5 c( c9 O6 q7 H# i4 A! j/ z' Z
    }
9 q9 R" P* O% E: P4 p2 K% S}
$ o4 v5 n" c6 F6 X9 v说明:
+ ]' g  h, q& m) @. m其中 gas_consumed 表示该交易消耗的 gas 数量,即交易手续费。每笔交易会有10 gas 的免费额度。如果数量小于10,则不收取手续费,如果大于10,那么收取超过10的那部分作为手续费并向上取整。例如 gas_consumed = 12.3,那么实际收取的手续费为3 gas
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

朋友一起走 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    16