GenSeed - 生成加密种子
GenSeed是创建一个新的LND实例时需要调用的第一个方法,该方法允许调用者 根据可选的口令(可选)生成一个新的加密种子。如果在生成种子时使用了口令, 那么当解密种子时也需要提供口令。一旦密码种子得到用户的验证,就应当使用 InitWallet方法来提交新生成的种子,并创建钱包。
gRPC请求 - GenSeedRequest
字段如下:
- aezeed_passphrase:用于加密种子的口令,bytes,可选
- seed_entropy:通过CSRNG生成的16字节种子熵,bytes,可选。
gRPC响应 - GenSeedResponse
字段如下:
- cipher_seed_mnemonic:种子助记词,24个单词构成的字符串数组。可选
- enciphered_seed:生成的密码种子,bytes
示例代码
Python示例代码
>>> import codecs, grpc, os
>>> import rpc_pb2 as ln, rpc_pb2_grpc as lnrpc
>>> 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.GenSeedRequest(
aezeed_passphrase=<bytes>,
seed_entropy=<bytes>,
)
>>> response = stub.GenSeed(request)
>>> print(response)
{
"cipher_seed_mnemonic": <array string>,
"enciphered_seed": <bytes>,
}
JavaScript示例代码
> var fs = require('fs');
> var grpc = require('grpc');
> 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 = {
aezeed_passphrase: <bytes>,
seed_entropy: <bytes>,
}
> walletUnlocker.genSeed(request, function(err, response) {
console.log(response);
})
{
"cipher_seed_mnemonic": <array string>,
"enciphered_seed": <bytes>,
}