小试牛刀-Python生成solana Wallet公私钥

目录

1.编写目的

2.使用依赖

3.实现方法

3.1 Pynacl实现

3.2 ed25519实现


1.编写目的

        在使用Python开发solana应用过程中,需要生成solana Wallet公私钥,以实现后续应用操作.这里将Python生成方法进行整理,方便日后的查阅,也能帮助到实现相关功能的朋友。

2.使用依赖

主要使用了以下3个Python依赖:

  1.  PyNacl
  2.  ed25519
  3.  base58

安装方法:

# 安装pynacl

pip3 install pynacl

# 安装ed25519

pip install ed25519

# 安装base58

pip install base58 

注意:这里pynacl是使用pip3安装,ed25519版本较早使用pip安装,即pyhton2用ed25519,pyhton3使用pynacl.base58作为公私钥格式转换的依赖.

3.实现方法

3.1 Pynacl实现

from nacl.signing import SigningKey

import base58

def generate_solana_wallet_nacl():
    signing=SigningKey.generate()
    public_key=base58.b58encode(signing.verify_key.encode()).decode('utf-8') 
    private_key=base58.b58encode(signing._signing_key).decode('utf-8')
    print("public:{}".format(public_key))
    print("private_key:{}".format(private_key))

这里生成的public_key即是公钥,也就是Wallet地址,private_key即为私钥,可以用于wallet导入.格式为Base58格式.

3.2 ed25519实现

import ed25519
import base58

def generate_solana_wallet():
    private_key, public_key = ed25519.create_keypair()
    private_key_base58 = base58.b58encode(private_key.to_bytes()).decode('utf-8')
    public_key_base58 = base58.b58encode(public_key.to_bytes()).decode('utf-8')
    return public_key_base58, private_key_base58

这里的public_key_base58即为公钥,private_key_base58即为私钥.格式为Base58

感谢关注,感谢点赞!

猜你喜欢

转载自blog.csdn.net/2202_75618418/article/details/140261028