小试牛刀-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 编辑

目录
相关文章
|
11月前
|
网络协议 Linux Shell
阿里云安装freeswitch的步骤总结
本文介绍在阿里云上安装freeswitch系统三种安装方式:脚本、镜像及Docker。支持多种Linux系统,推荐最小化安装,提供下载地址、一键安装命令及卸载方法。安装后访问IP即可登录,默认账号密码为admin/admin,初始化需等待5-10分钟。
1341 5
|
小程序 JavaScript 开发工具
Uniapp 对接抖音短剧播放器 video-player 坑点解决
Uniapp 对接抖音短剧播放器 video-player 坑点解决
1054 1
|
Linux C++ iOS开发
【C++ 17 新特性 文件管理】探索C++ Filesystem库:文件和目录操作的全面指南(二)
【C++ 17 新特性 文件管理】探索C++ Filesystem库:文件和目录操作的全面指南
2523 2
|
存储 人工智能 开发框架
Eliza:TypeScript 版开源 AI Agent 开发框架,快速搭建智能、个性的 Agents 系统
Eliza 是一个开源的多代理模拟框架,支持多平台连接、多模型集成,能够快速构建智能、高效的AI系统。
2180 8
Eliza:TypeScript 版开源 AI Agent 开发框架,快速搭建智能、个性的 Agents 系统
|
人工智能 Linux 计算机视觉
GitHub 开源热搜!10.7k  star, MagicAnimate,让照片秒变动画短片!
MagicAnimate 是由新加坡国立大学与字节跳动团队开发的静态图像动画工具,基于视频扩散模型与时序注意力模块,可实现高保真一致动画。用户只需上传一张照片和动作视频/DensePose 数据,即可生成高质量动画,效率提升 50%。项目在 GitHub 上获得 11.1k 星,支持多 GPU 推理、模型替换及跨平台部署,适用于短视频创作、在线教育、营销广告等场景。其优势在于流畅度高、细节还原精准,是目前最强的人像动画技术之一。
1018 0
|
机器学习/深度学习 编解码 计算机视觉
YOLOv11改进策略【注意力机制篇】| CVPRW-2024 分层互补注意力混合层 H-RAMi 针对低质量图像的特征提取模块
YOLOv11改进策略【注意力机制篇】| CVPRW-2024 分层互补注意力混合层 H-RAMi 针对低质量图像的特征提取模块
521 1
YOLOv11改进策略【注意力机制篇】| CVPRW-2024 分层互补注意力混合层 H-RAMi 针对低质量图像的特征提取模块
三大运营商那个流量便宜
要确定中国三大运营商(中国移动、中国联通、中国电信)中哪个提供的流量套餐更为便宜,并不是一个可以直接给出固定答案的问题,因为不同的地区、时间、以及用户的具体需求(如通话时长、短信数量、数据流量等)都会影响套餐的价格和性价比。不过,以下是一些通用的方法来比较和选择较为经济的流量套餐:
|
监控 Kubernetes 网络协议
异常docker导致 cpu 100
生产问题
1416 0
|
算法 测试技术 API
测试使用 SenseVoice 的流程
8月更文挑战第10天
1417 8
|
存储 C语言
【C语言程序设计——循环程序设计】利用数列的累加和求 sinx(头歌实践教学平台习题)【合集】
项的累加和,一般会使用循环结构,在每次循环中计算出当前项的值(可能基于通项公式或者递推关系),然后累加到一个用于存储累加和的变量中。在C语言中推导数列中的某一项,通常需要依据数列给定的通项公式或者前后项之间的递推关系来实现。例如,对于一个简单的等差数列,其通项公式为。的级数,其每一项之间存在特定的递推关系(后项的分子是其前项的分子乘上。,计算sinx的值,直到最后一项的绝对值小于。为项数),就可以通过代码来计算出指定项的值。对于更复杂的数列,像题目中涉及的用于近似计算。开始你的任务吧,祝你成功!
562 6