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