预编译合约
预编译智能合约是在节点中使用 C++ 实现的合约。 当验证器在这种智能合约上运行交易时,它可以执行这种实现,而不是 TVM。 这样可以提高性能,减少计算费用。
配置
预编译合约列表存储在主链配置中:
precompiled_smc#b0 gas_usage:uint64 = PrecompiledSmc;
precompiled_contracts_config#c0 list:(HashmapE 256 PrecompiledSmc) = PrecompiledContractsConfig;
_ PrecompiledContractsConfig = ConfigParam 45;
list:(HashmapE 256 PrecompiledSmc)
是一个映射 (code_hash -> precomplied_smc)
。
如果在这个映射中找到了合约的代码哈希值,那么该合约就被视为预编译。