背景
使用solana-keygen new生成出来的json钱包数据,里面的数据是list形式的数字,与我们常用的字符串私钥数据不一致,导致无法通用各个钱包。
两个方向
cli钱包导致到backpack等钱包
复制json钱包里面的数据,直接复制到backpack钱包,即可,如图。
钱包Base54编码私钥导入到cli钱包
这种情况下,字符串的私钥文本数据,需要转换成数字列表,代码如下:
import base58
byte_array = base58.b58decode('3J4s9xAGTtnF8DXvGD8私钥文本')
json_string = "[" + ",".join(map(lambda b: str(b), byte_array)) + "]"
print(json_string)
修改私钥数据,保存为convert.py,执行python convert.py > xx.json,即可。