跳至主要内容
此页面是从英文翻译而来的。请注意,与原始页面相比,可能会出现错误或差异。真实的文档来源应始终是英文版本。

chain_plugin

概述

那个 chain_plugin 是处理和整合 EOS 节点上链数据所必需的必备插件。它实现了由提供的核心功能 链式 API 插件

用法

# config.ini
plugin = eosio::chain_plugin
[options]
# command-line
nodeos ... --plugin eosio::chain_plugin [operations] [options]

操作

这些只能从中指定 nodeos 命令行:

的命令行选项 chain_plugin

选项(=默认)描述
--genesis-json arg要从中读取创世纪状态的文件
--genesis-timestamp arg覆盖 Genesis State 文件中的初始时间戳
--print-genesis-json以 JSON 的形式从 blocks.log 中提取 genesis_state,打印到控制台,然后退出
--extract-genesis-json arg以 JSON 形式从 blocks.log 中提取 genesis_state,写入指定文件,然后退出
--print-build-info以 JSON 形式将构建环境信息打印到控制台并退出
--extract-build-info arg以 JSON 格式提取构建环境信息,写入指定文件并退出
--force-all-checks在重玩方块时不要跳过任何验证检查(对于重播来自不可信来源的方块很有用)
--disable-replay-opts禁用专门针对重播的优化
--replay-blockchain清除链状态数据库并重播所有区块
--hard-replay-blockchain清除链状态数据库,从区块日志中恢复尽可能多的方块,然后重播这些区块
--delete-all-blocks清除链状态数据库和区块日志
--truncate-at-block arg (=0)在此区块号处停止硬重播/区块日志恢复(如果设置为非零数字)
--terminate-at-block arg (=0)在达到此区块号后终止(如果设置为非零数字)
--snapshot arg要从中读取快照状态的文件

选项

这些可以从以下任一处指定 nodeos 命令行或 config.ini 文件:

的配置选项 chain_plugin

选项(=默认)描述
--blocks-dir arg (="blocks")blocks 目录的位置(绝对路径或相对于应用程序数据目录的路径)
--blocks-log-stride arg当头块编号是步幅的倍数时拆分区块日志文件当达到步幅时,当前区块日志和索引将被重命名为 '^blocks-retained-dir^/blocks-^start num^-end num^.log/index',并将使用最新的区块创建新的当前区块日志和索引。遵循此格式的所有文件都将用于构造扩展块日志。
--max-retained-block-files arg要保留的最大块文件数,以便可以查询这些文件中的块。达到该数字后,最旧的块文件将被移至存档目录,如果存档目录为空,则将其删除。用户不应操纵保留的区块日志文件。
--blocks-retained-dir arg块保留目录的位置(绝对路径或相对于块目录的路径)。如果该值为空,则将其设置为 blocks dir 的值。
--blocks-archive-dir arg区块存档目录的位置(绝对路径或相对于块目录的路径)。如果该值为空,则超出保留限制的区块文件将被删除。存档目录中的所有文件完全由用户控制,也就是说,nodeos 将不再访问它们。
--state-dir arg (="state")状态目录的位置(绝对路径或相对于应用程序数据目录的路径)
--protocol-features-dir arg (="protocol_features")protocol_features 目录的位置(绝对路径或相对于应用程序配置目录的路径)
--checkpoint arg成对的 [BLOCK_NUM, BLOCK_ID] 应作为检查点强制执行。
--wasm-runtime runtime (=eos-vm-jit)覆盖默认的 WASM 运行时(“eos-vm-jit”,“eos-vm”)“eos-vm-jit”:在执行之前将 WebAssembly 代码编译为原生 x86 代码的 WebAssembly 运行时。“eos-vm”:WebAssembly 解释器。
--profile-account arg将对其代码进行分析的账户的名称
--abi-serializer-max-time-ms arg (=15)覆盖默认允许的最大 ABI 序列化时间(以毫秒为单位)
--chain-state-db-size-mb arg (=1024)链状态数据库的最大大小(以 MiB 为单位)
--chain-state-db-guard-size-mb arg (=128)当链状态数据库中剩余的可用空间降至此大小(以 MiB 为单位)以下时,安全地关闭节点。
--signature-cpu-billable-pct arg (=50)实际签名恢复 CPU 占账单的百分比。整数百分比,例如 50 表示 50%
--chain-threads arg (=2)控制器线程池中的工作线程数
--contracts-console将合约的输出打印到控制台
--deep-mind打印有关连锁经营的更深层次信息
--actor-whitelist arg账户已添加到演员白名单(可以多次指定)
--actor-blacklist arg账户已添加到演员黑名单(可以多次指定)
--contract-whitelist arg合约账户已添加到合约白名单(可以多次指定)
--contract-blacklist arg合约账户已添加到合约黑名单(可以多次指定)
--action-blacklist argAction(格式为 code:: action)已添加到操作黑名单(可以多次指定)
--key-blacklist arg已将公钥添加到权限中不应包含的密钥黑名单(可以多次指定)
--sender-bypass-whiteblacklist arg此列表中的账户发送的延期交易未应用任何主观白名单/黑名单检查(可以多次指定)
--read-mode arg (=head)数据库读取模式(“头部”、“不可逆转”、“推测性”)。在 “head” 模式下:数据库包含直到头部区块的状态变化;节点收到的交易如果有效,则会被中继。在 “不可逆转” 模式下:数据库包含直到最后一个不可逆区块的状态变化;通过 P2P 网络接收的交易不会中继,也无法通过链 API 推送交易。在 “投机” 模式下:(已弃用:推荐使用头部模式)数据库包含区块链中直到头部区块的交易状态变化,以及一些尚未包含在区块链中的交易;节点收到的交易如果有效,则会被中继。
--api-accept-transactions arg (=1)允许对 API 交易进行评估和中继(如果有效)。
--validation-mode arg (=full)链验证模式(“完整” 或 “轻型”)。在 “完整” 模式下,所有传入的区块都将得到完全验证。在 “轻型” 模式下,所有传入的区块头都将经过全面验证;这些经过验证的区块中的交易将受到信任
--disable-ram-billing-notify-checks如果合约在通知处理程序的上下文中向另一个账户收取更多 RAM(即当接收者不是操作代码时),则禁用该支票,该检查主观上会使交易失败。
--maximum-variable-signature-length arg (=16384)主观上将可变长度签名中可变组件的最大长度限制为这个大小(以字节为单位)
--trusted-producer arg表示由其签名的区块头将得到完全验证的生产者,但这些经过验证的区块中的交易将受到信任。
--database-map-mode arg (=mapped)数据库映射模式(“映射”、“堆” 或 “锁定”)。在 “映射” 模式下,数据库是将内存映射为文件。在 “堆” 模式下,数据库预加载到可交换内存中,如果可用,将使用大页面。在 “锁定” 模式下,数据库是预加载的,锁定在内存中,如果可用,将使用大页面。
--eos-vm-oc-cache-size-mb arg (=1024)EOS VM OC 代码缓存的最大大小(以 MiB 为单位)
--eos-vm-oc-compile-threads arg (=1)用于 EOS VM OC 分层的线程数
--eos-vm-oc-enable启用 EOS VM OC 分层运行时
--enable-account-queries arg (=0)启用查询功能,通过各种元数据查找账户。
--max-nonprivileged-inline-action-size arg (=4096)非特权账户内联操作的最大允许大小(以字节为单位)
--transaction-retry-max-storage-size-gb arg允许为 “事务重试” 功能分配的最大大小(以 GiB 为单位)。设置为 0 以上可启用此功能。
--transaction-retry-interval-sec arg (=20)如果在区块中看不到传入的交易,将传入的交易重新发送到网络的频率(以秒为单位)。
--transaction-retry-max-expiration-sec arg (=120)重试交易允许的最大交易到期时间,将重试不超过此值的交易。
--transaction-finality-status-max-storage-size-gb arg允许为 “交易终结状态” 功能分配的最大大小(以 GiB 为单位)。设置为 0 以上可启用此功能。
--transaction-finality-status-success-duration-sec arg (=180)持续时间(以秒为单位)成功交易的 Finality 状态将从首次识别后一直可用。
--transaction-finality-status-failure-duration-sec arg (=180)持续时间(以秒为单位)失败交易的 Finality 状态将从首次被识别后一直可用。
--integrity-hash-on-start启动时记录状态完整性哈希
--integrity-hash-on-stop关闭时记录状态完整性哈希
--block-log-retain-blocks arg如果设置为大于 0,则定期修剪区块日志,仅存储已配置的最近区块数量。如果设置为 0,则不会将任何块写入块日志;启动后会删除块日志文件。

依赖关系