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

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

 目录

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

image.gif

注意:这里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))

image.gif

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

image.gif 编辑

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

image.gif

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

感谢关注,感谢点赞!

image.gif 编辑

目录
相关文章
|
小程序 JavaScript 开发工具
Uniapp 对接抖音短剧播放器 video-player 坑点解决
Uniapp 对接抖音短剧播放器 video-player 坑点解决
1025 1
|
Linux C++ iOS开发
【C++ 17 新特性 文件管理】探索C++ Filesystem库:文件和目录操作的全面指南(二)
【C++ 17 新特性 文件管理】探索C++ Filesystem库:文件和目录操作的全面指南
2503 2
|
存储 人工智能 开发框架
Eliza:TypeScript 版开源 AI Agent 开发框架,快速搭建智能、个性的 Agents 系统
Eliza 是一个开源的多代理模拟框架,支持多平台连接、多模型集成,能够快速构建智能、高效的AI系统。
2136 8
Eliza:TypeScript 版开源 AI Agent 开发框架,快速搭建智能、个性的 Agents 系统
三大运营商那个流量便宜
要确定中国三大运营商(中国移动、中国联通、中国电信)中哪个提供的流量套餐更为便宜,并不是一个可以直接给出固定答案的问题,因为不同的地区、时间、以及用户的具体需求(如通话时长、短信数量、数据流量等)都会影响套餐的价格和性价比。不过,以下是一些通用的方法来比较和选择较为经济的流量套餐:
|
算法 测试技术 API
测试使用 SenseVoice 的流程
8月更文挑战第10天
1392 8
|
监控 Kubernetes 网络协议
异常docker导致 cpu 100
生产问题
1401 0
|
JSON Android开发 数据格式
Flutter笔记:美工设计.导出视频到RIVE
Flutter笔记:美工设计.导出视频到RIVE
1207 0
|
定位技术 API C++
Python GIS神器shapely 2.0新版本来了
Python GIS神器shapely 2.0新版本来了
593 9
|
前端开发
|
传感器 物联网 数据中心
探索ARM架构及其核心系列应用和优势
ARM架构因其高效、低功耗和灵活的设计,已成为现代电子设备的核心处理器选择。Cortex-A、Cortex-R和Cortex-M系列分别针对高性能计算、实时系统和低功耗嵌入式应用,满足了不同领域的需求。无论是智能手机、嵌入式控制系统,还是物联网设备,ARM架构都以其卓越的性能和灵活性在全球市场中占据了重要地位。
2084 1