InitWallet - 初始化钱包
当lnd第一次启动时,调用InitWallet来完整地初始化服务进程及 内部钱包。至少应当提供一个钱包密码,该密码将被用来加密磁盘上 的敏感材料。在数据恢复的场景中,用户也可以指定种子助记词和口令。
gRPC请求- InitWalletRequest
字段如下:
- wallet_password:解密钱包的密码,bytes,至少8字节长。解锁服务进程时 需要使用此密码
- cipher_seed_mnemonic:种子助记词,24个单词,字符串数组,可以使用 GenSeed调用生成
- aezeed_passphrase:种子口令,bytes,可选
- recovery_window:钱包种子恢复窗口,int32,可选
- channel_backups:钱包通道备份, ChanBackupSnapshot,可选
gRPC响应 - InitWalletResponse
无字段。
示例代码
Python示例代码
>>> os.environ['GRPC_SSL_CIPHER_SUITES'] = 'HIGH+ECDSA'
>>> cert = open('LND_DIR/tls.cert', 'rb').read()
>>> ssl_creds = grpc.ssl_channel_credentials(cert)
>>> channel = grpc.secure_channel('localhost:10009', ssl_creds)
>>> stub = lnrpc.WalletUnlockerStub(channel)
>>> request = ln.InitWalletRequest(
wallet_password=<bytes>,
cipher_seed_mnemonic=<array string>,
aezeed_passphrase=<bytes>,
recovery_window=<int32>,
channel_backups=<ChanBackupSnapshot>,
)
>>> response = stub.InitWallet(request)
>>> print(response)
{
}
JavaScript示例代码
> var lnrpc = grpc.load('rpc.proto').lnrpc;
> process.env.GRPC_SSL_CIPHER_SUITES = 'HIGH+ECDSA'
> var lndCert = fs.readFileSync('LND_DIR/tls.cert');
> var sslCreds = grpc.credentials.createSsl(lndCert);
> var walletUnlocker = new lnrpc.WalletUnlocker('localhost:10009', sslCreds);
> var request = {
wallet_password: <bytes>,
cipher_seed_mnemonic: <array string>,
aezeed_passphrase: <bytes>,
recovery_window: <int32>,
channel_backups: <ChanBackupSnapshot>,
}
> walletUnlocker.initWallet(request, function(err, response) {
console.log(response);
})
{
}