Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blockchain 如何初始化底层区块链中的用户余额?_Blockchain_Substrate - Fatal编程技术网

Blockchain 如何初始化底层区块链中的用户余额?

Blockchain 如何初始化底层区块链中的用户余额?,blockchain,substrate,Blockchain,Substrate,当我启动我的底层区块链时,我想用一些自由余额初始化用户 我怎样才能做到这一点 如果我的链已在运行,而我不想重新启动它,该怎么办?Genesis配置 设置具有初始自由余额的基底用户的最佳方法是更新chain_spec.rs文件,以便在区块链的genesis区块为用户提供单位 此genesis配置通过平衡模块进行: fn testnet_genesis(initial_authorities: Vec<AuthorityId>, endowed_accounts: Vec<Acco

当我启动我的底层区块链时,我想用一些自由余额初始化用户

我怎样才能做到这一点

如果我的链已在运行,而我不想重新启动它,该怎么办?

Genesis配置 设置具有初始自由余额的基底用户的最佳方法是更新chain_spec.rs文件,以便在区块链的genesis区块为用户提供单位

此genesis配置通过平衡模块进行:

fn testnet_genesis(initial_authorities: Vec<AuthorityId>, endowed_accounts: Vec<AccountId>, root_key: AccountId) -> GenesisConfig {
    GenesisConfig {
        balances: Some(BalancesConfig {
            transaction_base_fee: 1,
            transaction_byte_fee: 0,
            existential_deposit: 500,
            transfer_fee: 0,
            creation_fee: 0,
            balances: endowed_accounts.iter().cloned().map(|k|(k, 1 << 60)).collect(),
            vesting: vec![],
        }),
        ...
    }
}
其中account_key函数使用输入的字符串生成sr25519种子

fn account_key(s: &str) -> AccountId {
    sr25519::Pair::from_string(&format!("//{}", s), None)
        .expect("static values are valid; qed")
        .public()
}
Sudo模块 如果您已经启动了区块链,并且启用了Sudo模块,那么use还可以调用Balances模块中的set_balance privileged函数

此功能允许您将任何账户的自由和保留余额设置为任何值

sr25519::Public::from_ss58check5gukqt4gjw2xqzfwm3rha7x6syuvcghhuhz72cn7oibsgffx.unwrap基板v2.0.0-rc2中的上述代码应替换为以下代码:AccountId::from_ss58check5gukqt4gjw2xqzfwmm3rha7x6syuvcghhz72cn7oibsgffx.unwrap
fn account_key(s: &str) -> AccountId {
    sr25519::Pair::from_string(&format!("//{}", s), None)
        .expect("static values are valid; qed")
        .public()
}