我正在创建一个应用程序,该应用程序具有导入以太坊链钱包和带有关键字和PrivateKey的solana钱包的功能。
对于以太坊链,我使用输入的私钥成功导入了钱包。我想为索拉纳做同样的事。我正在使用创建Solana钱包地址https://github.com/ajamaica/Solana.kt该代码的Account.kt类,以及使用该类签名事务和发送令牌。如果有任何方法可以使用PrivateKey导入Solana钱包,有人能帮忙吗?
在Account.kt
类的默认构造函数中,它正在生成一个新的密钥对供您使用。如果要导入现有的密钥对,可以使用任何其他构造函数,例如:
constructor(secretKey: ByteArray)
:https://github.com/ajamaica/Solana.kt/blob/1a79932e67e698f2dba5f347fb74dd47d702f8fb/solana/src/main/java/com/solana/core/Account.kt#L29fromJson(json: String)
:https://github.com/ajamaica/Solana.kt/blob/1a79932e67e698f2dba5f347fb74dd47d702f8fb/solana/src/main/java/com/solana/core/Account.kt#L94
密钥或JSON字符串参数是表示私钥的64个字节,如:
[131,30,15,126,65,195,177,39,147,196,183,221,159,85,134,0,29,179,48,175,149,133,13,75,184,212,99,68,29,62,82,248,37,183,235,40,42,249,238,136,159,202,239,211,121,108,51,154,178,214,31,6,111,28,202,173,100,41,145,230,76,152,208,131]
请注意,Solana和以太坊并不完全兼容,因为它们使用不同的加密曲线。Solana的账户/密钥对使用ed25519曲线,因此您的私钥将为64字节,而以太坊使用secp256k1曲线,即您的私钥为32字节。