

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 支持比特币 JSON-RPCs 使用亚马逊托管区块链 (AMB) 访问比特币
<a name="bitcoin-api"></a>

本主题提供了托管区块链支持的比特币 JSON 列表和参考文献。RPCs 每个支持的 JSON-RPC 都有其用法的简要描述。

**注意**  
 您可以使用[签名版本 4 (Sigv4) 签名](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)流程RPCs 在托管区块链上对比特币 JSON 进行身份验证。这意味着只有账户中获得授权的 IAM 委托人才能使用比特币 JSON-RPCs 与 AWS 账户进行交互。在呼叫中提供 AWS 凭证（访问密钥 ID 和私有访问密钥）。
如果您的 HTTP 响应大于 10 MB，则会出现错误。要更正此问题，必须将压缩标头设置为`Accept-Encoding:gzip`。您的客户端随后收到的压缩响应包含以下标头：`Content-Type: application/json`和`Content-Encoding: gzip`。
Amazon Managed Blockchain (AMB) Access Bitcoin 会为格式错误的 JSON-RPC 请求生成一个 400 错误。
使用 `sendrawtransaction` JSON-RPC 提交更新比特币区块链状态的交易。
AMB Access Bitcoin 的默认请求限制为每个地区每秒 100 个请求 (RPS)。`NETWORK_TYPE` AWS   
要增加配额，您必须联系*AWS 支持人员*。要联系 AWS 支持人员，请登录 Support [AWS Center 控制台](https://console.aws.amazon.com/support)。选择**创建案例**。选择 “**技术**”。选择*托管区块链*作为您的**服务**。**选择 *Access: Bitcoin* 作为您的**类别**，选择*一般指导*作为您的严重性。**在**主题**和**描述**文本框中输入 *RPC 配*额，并按每个区域*每个比特币网络的 RPS* 列出适用于您需求的配额限制。**提交**您的案例。

## 支持的 JSON-RPCs
<a name="supported-json-rpc"></a>

AMB Access 比特币支持以下比特币 JSON-RPCs。每个支持的呼叫都有其用法的简要说明。



- **[区块链 RPCs](https://developer.bitcoin.org/reference/rpc/#blockchain-rpcs)**
  - **JSON-RPC:** [获取最佳区块哈希](https://developer.bitcoin.org/reference/rpc/getbestblockhash.html) / **描述:** 返回工作量最大、经过全面验证的链中最佳（提示）区块的哈希值。
  - **JSON-RPC:** [获取区块](https://developer.bitcoin.org/reference/rpc/getblock.html) / **描述:** 如果 verbosity 为 0，则返回一个字符串，该字符串是块 “哈希” 的序列化十六进制编码数据。如果 verbosity 为 1，则返回一个包含有关方块 “哈希” 信息的对象。如果 verbosity 为 2，则返回一个 Object，其中包含有关区块 “哈希” 的信息以及有关每笔交易的信息。如果 verbosity 为 3，则返回一个 Object，其中包含有关区块 “哈希” 的信息以及有关每笔交易的信息，包括prevout输入信息。
  - **JSON-RPC:** [获取区块链信息](https://developer.bitcoin.org/reference/rpc/getblockchaininfo.html) / **描述:** 返回一个包含有关区块链处理的各种状态信息的对象。
  - **JSON-RPC:** [获取区块数](https://developer.bitcoin.org/reference/rpc/getblockcount.html) / **描述:** 返回工作量最大、经过全面验证的链的高度。创世区块的高度为 0。
  - **JSON-RPC:** [获取区块过滤器](https://developer.bitcoin.org/reference/rpc/getblockfilter.html) / **描述:** 使用区块哈希检索特定区块的 BIP 157 内容过滤器。
  - **JSON-RPC:** [获取区块哈希](https://developer.bitcoin.org/reference/rpc/getblockhash.html) / **描述:** 返回在提供的高度 best-block-chain处的区块哈希值。
  - **JSON-RPC:** [获取区块标头](https://developer.bitcoin.org/reference/rpc/getblockheader.html) / **描述:** 如果 verbose 为 false，则返回一个字符串，该字符串是区块标头 “哈希” 的序列化十六进制编码数据。如果 verbose 为真，则返回一个包含有关区块标头 “哈希” 信息的对象。
  - **JSON-RPC:** [获取区块统计信息](https://developer.bitcoin.org/reference/rpc/getblockstats.html) / **描述:** 计算给定窗口的每个区块的统计信息。所有金额均以中本聪为单位。在某些高度修剪时它不起作用。
  - **JSON-RPC:** [获取链条小贴士](https://developer.bitcoin.org/reference/rpc/getchaintips.html) / **描述:** 返回有关区块树中所有已知提示的信息，包括主链和孤立分支。
  - **JSON-RPC:** [getchaintxstats](https://developer.bitcoin.org/reference/rpc/getchaintxstats.html) / **描述:** 计算有关链中交易总数和交易率的统计数据。
  - **JSON-RPC:** [获得难度](https://developer.bitcoin.org/reference/rpc/getdifficulty.html) / **描述:** 以最低 proof-of-work难度的倍数返回难度。
  - **JSON-RPC:** [getmempool 祖先](https://developer.bitcoin.org/reference/rpc/getmempoolancestors.html) / **描述:** 如果 txid 在内存池中，则返回内存池中的所有祖先。
  - **JSON-RPC:** [获取 mempool 后代](https://developer.bitcoin.org/reference/rpc/getmempooldescendants.html) / **描述:** 如果 txid 在内存池中，则返回内存池中的所有后代。
  - **JSON-RPC:** [获取内存池条目](https://developer.bitcoin.org/reference/rpc/getmempoolentry.html) / **描述:** 返回给定交易的内存池数据。
  - **JSON-RPC:** [获取内存池信息](https://developer.bitcoin.org/reference/rpc/getmempoolinfo.html) / **描述:** 返回有关 TX 内存池活动状态的详细信息。
  - **JSON-RPC:** [getrawmempool](https://developer.bitcoin.org/reference/rpc/getrawmempool.html) / **描述:** 以字符串事务的 JSON 数组形式返回内存池 IDs 中的所有事务 IDs。 不支持 `verbose = true`。 
  - **JSON-RPC:** [gettxout](https://developer.bitcoin.org/reference/rpc/gettxout.html) / **描述:** 返回有关未使用的交易输出的详细信息。
  - **JSON-RPC:** [gettxoutproof](https://developer.bitcoin.org/reference/rpc/gettxoutproof.html) / **描述:** 返回一个十六进制编码的证据，证明区块中包含 “txid”。

- **[原始交易 RPCs](https://developer.bitcoin.org/reference/rpc/#rawtransactions-rpcs)**
  - **JSON-RPC:** [创建原始交易](https://developer.bitcoin.org/reference/rpc/createrawtransaction.html) / **描述:** 创建使用给定输入并创建新输出的交易。
  - **JSON-RPC:** [decoderaw交易](https://developer.bitcoin.org/reference/rpc/decoderawtransaction.html) / **描述:** 返回一个表示序列化的十六进制编码交易的 JSON 对象。
  - **JSON-RPC:** [decodescri](https://developer.bitcoin.org/reference/rpc/decodescript.html) / **描述:** 解码十六进制编码的脚本。
  - **JSON-RPC:** [获取原始交易](https://developer.bitcoin.org/reference/rpc/getrawtransaction.html) / **描述:** 返回原始交易数据。
  - **JSON-RPC:** [发送交易](https://developer.bitcoin.org/reference/rpc/sendrawtransaction.html) / **描述:** 向本地节点和网络提交原始交易（序列化、十六进制编码）。
  - **JSON-RPC:** [测试内存池接受](https://developer.bitcoin.org/reference/rpc/testmempoolaccept.html) / **描述:** 返回内存池验收测试的结果，该结果表明 mempool 是否接受原始交易（序列化、十六进制编码）。这将检查交易是否违反共识规则或政策规则。

- **[Util RPCs](https://developer.bitcoin.org/reference/rpc/#util-rpcs)**
  - **JSON-RPC:** [创建多重签名](https://developer.bitcoin.org/reference/rpc/createmultisig.html) / **描述:** 创建一个多重签名地址，其中包含 n 个必需的 m 个密钥的签名。
  - **JSON-RPC:** [估算智能费用](https://developer.bitcoin.org/reference/rpc/estimatesmartfee.html) / **描述:** 如果可能，估算在 conf\_target 区块内开始确认交易所需的每千字节的大致费用，并返回该估算值有效的区块数。使用 BIP 141 中定义的虚拟交易规模（见证数据已打折）。
  - **JSON-RPC:** [验证地址](https://developer.bitcoin.org/reference/rpc/validateaddress.html) / **描述:** 返回有关给定比特币地址的信息。
  - **JSON-RPC:** [验证消息](https://developer.bitcoin.org/reference/rpc/verifymessage.html) / **描述:** 验证已签名的消息。

