10. 新功能启用配置

此页面将介绍升级后如何开启新功能,若不是升级,则可在创建链时修改配置文件、或者默认启动。

10.1. v2.3.0、v2.3.1->v2.3.2

10.1.1. 交易黑名单

交易黑名单是新的系统合约,在232以前版本没有,故若是升级则需要手动初始化。在升级到v2.3.2版本以后,可以通过以下命令初始化之前版本中没有初始化的系统合约:

./cmc client contract user invoke \
--contract-name=CONTRACT_MANAGE \
--method=INIT_NEW_NATIVE_CONTRACT \
--sdk-conf-path=./testdata/sdk_config.yml \
--sync-result=true \
--result-to-string=true

本命令返回的message是OK,则说明新系统合约初始化成功。其使用详情可见交易黑名单

10.1.2. 开启升级合约的权限支持只有合约创建者可升级

升级合约的权限支持只有合约创建者可升级功能是旧的系统合约(contract manage)中新增逻辑。其开启、关闭是在旧的系统合约(chainconfig manage)中新增2个方法。 在升级到v2.3.2以后,可通过发送交易开启仅创建者升级。详见合约只允许创建者升级

10.2. v2.3.0->v2.3.1

10.2.1. 三段式在线多签

在v2.3.0中,使用的是两段式多签,存在一个gas扣费的问题:会扣除最后一个投票成功人。显得不合理。故在v2.3.1中加入了三段式多签操作。原有发起多签请求和发起投票不变,新增确认投票操作,只能有发起多签请求的人有权限调用。将扣除发起人的gas值。

cmc启用方式

./cmc client chainconfig enable-manual-run \
--multi-sign-enable-manual-run=false \
--sdk-conf-path=./testdata/sdk_config.yml \
--admin-key-file-paths=./testdata/crypto-config/wx-org1.chainmaker.org/user/admin1/admin1.sign.key,./testdata/crypto-config/wx-org2.chainmaker.org/user/admin1/admin1.sign.key,./testdata/crypto-config/wx-org3.chainmaker.org/user/admin1/admin1.sign.key \
--admin-crt-file-paths=./testdata/crypto-config/wx-org1.chainmaker.org/user/admin1/admin1.sign.crt,./testdata/crypto-config/wx-org2.chainmaker.org/user/admin1/admin1.sign.crt,./testdata/crypto-config/wx-org3.chainmaker.org/user/admin1/admin1.sign.crt

配置文件参考

bc.yml

# Virtual machine related settings
vm:
  native:
      multisign:
        enable_manual_run: true

参考链接: cmc在线多签操作

10.2.2. 数据库慢日志

在chainmaker.yml storage下级目录添加slow_log: 0 然后重启节点即可(单节点修改当前节点就生效)

storage:
  # record DB slow log (INFO level,KV DB) when query spend time more than this value (millisecond), 0 means no record
  slow_log: 0

10.3. v2.2.1->v2.3.0

默认gas计费为关闭状态,启用gas计费,CMC参考

./cmc client gas
--sdk-conf-path=./testdata/sdk_config.yml \
--admin-key-file-paths=./testdata/crypto-config/wx-org1.chainmaker.org/user/admin1/admin1.sign.key,./testdata/crypto-config/wx-org2.chainmaker.org/user/admin1/admin1.sign.key,./testdata/crypto-config/wx-org3.chainmaker.org/user/admin1/admin1.sign.key \
--admin-crt-file-paths=./testdata/crypto-config/wx-org1.chainmaker.org/user/admin1/admin1.sign.crt,./testdata/crypto-config/wx-org2.chainmaker.org/user/admin1/admin1.sign.crt,./testdata/crypto-config/wx-org3.chainmaker.org/user/admin1/admin1.sign.crt \
--gas-enable=true

配置文件参考:

bc.yml

# gas account config
account_config:
  enable_gas: false