Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

NEO 客户端插件

朋友一起走
128 0 0
NEO 客户端插件4 ]: n* g4 W9 G: s% F
从 NEO 2.9.0 开始,一些附加功能被独立封装在插件中用以调用,目的是为了提升节点的安全性,稳定性和灵活性。用户可以自行选取所需要的扩展功能而不用每次在启动 NEO-CLI时通过附加参数来调用,避免了很多人为的失误操作同时简化了打开钱包,调用 API 等一系列繁琐的指令。点击此处下载 Plugins。
) I6 F$ M9 M3 i% r$ b3 t' G- E% Z3 Z
插件功能
ApplicationLogs在 RPC 模式下自动同步智能合约日志(ApplicationLogs),目前日志已经改为以 LevelDB 格式存储。交易所必选
ImportBlocks同步离线包。必选
RpcSecurity提升 RPC 安全。可选
SimplePolicy启用共识的简单策略。搭建私链必选
StatesDumper导出 NEO-CLI 状态数据。可选
9 A. k" m% i( R2 ]
安装插件1 u* e% F6 ]* I5 C
要安装插件,在客户端根目录下新建 Plugins 文件夹(注意首字母大写),然后将解压出来的插件拷贝到其中,如下所示在neo-cli根目录下安装:
; x# s% ?) c6 A6 g8 I/ C/ [. Q& y: Y
插件中的 API 接口1 B+ R$ u# s: |" r, A) _6 h" @% N1 D
getapplicationlog 方法
( d( X" Z6 m5 t! s  ]; X% y7 e# R根据指定的 NEP-5 交易 ID 获取合约日志。完整的合约日志会记录到 ApplicationLogs 目录。: d  c! R! R8 y$ _
此方法由插件提供,需要安装 ApplicationLogs 插件才可以调用。
/ z2 ^  a/ N, a4 |9 M  [. {参数说明9 }+ n/ h) p  v$ S: ?
txid:交易ID
! Q0 B  t- M8 G" K% k$ O' G2 r调用示例
1 N/ M) p8 `* Z8 n. W& F请求正文:
3 w# L. M/ I6 x. }{4 I' m3 I1 [: ^" ^' i8 t5 D
  "jsonrpc": "2.0",
. i3 ]6 ?, v: ^! y* @4 j  "method": "getapplicationlog",
% a$ m3 ]+ J6 n1 A  @! F+ h" ]  "params": ["0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07"],
4 ~) ?9 m/ A# l- F2 }+ ^8 B  "id": 1
2 p0 }& M9 \& |/ c" U' ?}
! i: M2 n, G) o8 @) H' i响应正文:/ m% U. L' t0 L' S0 W+ q
{* x$ P" k2 y; n! s2 Y# Q  Q
    "jsonrpc": "2.0",
6 r# x. u6 I2 t$ I5 c    "id": 1,
9 S$ z" P  t$ ~3 `% e    "result": {' O( [( n- ?( |& m8 `
        "txid": "0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07",2 K& C5 h$ U' I- Z
        "executions": [
5 d! C* [: `( P# p% A            {
7 G4 P" a2 A$ }# u' w( N, ]                "trigger": "Application",) n, f5 g9 J, o. n
                "contract": "0x0110a8f666bcc650dc0b544e71c31491b061c79e",
7 X* T# y& L2 ?& i4 O& L7 ~                "vmstate": "HALT, BREAK",% \5 H8 F3 p* ?7 o/ a2 N
                "gas_consumed": "2.855",; D' O+ a2 i7 |
                "stack": [
2 X; _5 Z- M+ W5 K7 [! Y- S                    {5 I6 r; E1 P2 I2 Y
                        "type": "Integer",  {8 G/ q. E7 F: s
                        "value": "1"/ r4 V! P  A$ e
                    }
' U3 ^( y! Y8 e$ p: X! k( _6 K  z                ],
0 T* i1 \. m, p7 ?4 H                "notifications": [
$ b8 d4 ^5 Z1 Q3 I                    {
% A- @- O4 N$ O" m% t; l% G                        "contract": "0xb9d7ea3062e6aeeb3e8ad9548220c4ba1361d263",2 H1 E* C- G6 \  R
                        "state": {
: R" I5 e, T% L. C7 P0 q4 m, u! h6 m+ \                            "type": "Array",
- u( S& T. r% U% }4 `" i7 G  C  f                            "value": [
* l( c! V3 I  E, M% Z4 [( J2 K                                {: b, y% r4 C( X8 P; D
                                    "type": "ByteArray",
6 y6 e/ g! x( n$ u9 f                                    "value": "7472616e73666572"
) M& S; e6 l; S+ e" {2 c) r# d* t/ ^( G                                },
9 y: Z/ B7 L  G. ~) f                                {  [: Q- _) F3 g+ {; c2 `/ Z
                                    "type": "ByteArray",/ M& l0 ?: w9 ]: B+ A! @0 S
                                    "value": "e3069da508f128069a0cd2544b0728ccbacdfb43"* C! v  T. q8 d. }
                                },
4 s) @& v3 j7 i1 B7 ^8 U                                {
! x6 r; m- c) e: N; C8 L* {/ B                                    "type": "ByteArray",
: M8 u. l% r+ V& ~. T                                    "value": "d142f89e93b2717426a8130c37dad93aad70cff5"' x# Y  r1 U0 C* H: u$ S% W, J
                                },
% \3 |' X" z+ k7 ~                                {
: A$ o- B  M6 B+ w# {2 x                                    "type": "ByteArray",
$ ?+ [# {4 t6 W) f                                    "value": "00e1f50500000000"- t. Z0 `7 i# `3 {. @% T" E* ]& ?
                                }; }) u6 b4 O. l. X1 n6 |4 O
                            ]
6 x. r- [& @( y* u, t4 h                        }
( f) C0 ?" {! [1 g* Z2 m6 i  t                    }
/ E' t% y; f6 F1 ?, ^) r                ]3 d* ?6 ~0 g/ X$ ~5 C$ }7 e, @( r+ }
            }7 H5 F1 V7 {1 k' x+ r' N4 s
        ]7 _1 m. t5 x3 e4 b( ~3 }4 B
    }
9 v; I: @  N' `) I2 _* l}( {& [# d$ L# i- |7 |. K. ^
说明:
" ?  e7 l) E& S9 ~) ]5 h其中 gas_consumed 表示该交易消耗的 gas 数量,即交易手续费。每笔交易会有10 gas 的免费额度。如果数量小于10,则不收取手续费,如果大于10,那么收取超过10的那部分作为手续费并向上取整。例如 gas_consumed = 12.3,那么实际收取的手续费为3 gas
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

朋友一起走 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    16