0

我正在使用 Java 库进行 RPC 调用,我从需要转换为 java 的 GO 代码中获取参考。我对 go 语法一无所知。谁能帮我描述以下代码:

Params: []interface{}{
            from, // first parameter is address to send from (where the ZEC comes from)
            []interface{}{
                map[string]interface{}{
                    "amount":  msgval,
                    "address": to,
                    "memo":    hex.EncodeToString([]byte(msg)),
                },
            },

下面是如何,我正在尝试等效的 Java 代码:

Map<String,Object> params = new HashMap<>();
      params.put( "from", fromAddress );
      params.put( "amount", 1.0000 );
      params.put( "address", toAddress );
      params.put( "memo", hexMessage );

以下是参数说明:

这是一个异步 RPC 调用。将资金从一个地址发送到多个输出。地址可以是 taddr 或 zaddr。Amounts 是一个列表,其中包含与地址和要支付的金额相对应的键/值对。每个输出地址可以是 taddr 或 zaddr 格式。发送到 zaddr 时,您还可以选择以十六进制格式附加备忘录。

它是否正确?

4

1 回答 1

0
Params: []interface{}{
            from, // first parameter is address to send from (where the ZEC comes from)
            []interface{}{
                map[string]interface{}{
                    "amount":  msgval,
                    "address": to,
                    "memo":    hex.EncodeToString([]byte(msg)),
                },
            },

读起来大致像这样的伪代码:

Params => Array<Object>(
    $from,
    Array<Object>(
       Hash<String, Object>(
           "amount" => msgval,
           "address" => to,
           "memo" => hex.EncodeToString(msg),
       )
    )
)

所以,无论放入Params什么

  1. 对象数组(即任何类型),其中
  2. 第一个元素是“来自”地址,
  3. 第二个元素是另一个数组,
  4. 其中第一个元素是字符串到您已经创建的对象(任何类型)的哈希映射。
于 2018-10-09T15:27:26.603 回答