solana 入门 1

solana-co-learn
Solana 开发学习笔记(一)——从 Hello World 出发

安装开发环境

windows下环境配置

wsl

First start with installing WSL on your system.

wsl --install
wsl

安装Ubuntu

列出可用的分发版

wsl.exe --list --online

显示:

以下是可安装的有效分发的列表。
使用 ‘wsl.exe --install ’ 安装。
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
openSUSE-Leap-15.5 openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed openSUSE Tumbleweed

安装Ubuntu-22.04

wsl.exe --install Ubuntu-22.04

如果报错:

正在安装: Ubuntu 22.04 LTS 已安装 Ubuntu 22.04 LTS。 正在启动 Ubuntu 22.04 LTS…
Installing, this may take a few minutes… WslRegisterDistribution
failed with error: 0x80370102 Please enable the Virtual Machine
Platform Windows feature and ensure virtualization is enabled in the
BIOS. For information please visit https://aka.ms/enablevirtualization
Press any key to continue…

启用 Virtual Machine Platform Windows 功能:

打开“控制面板” -> “程序” -> “启用或关闭 Windows 功能”。
在弹出的窗口中找到“Virtual Machine Platform”复选框并勾选它。
单击“确定”并等待 Windows 完成更改。
确保 BIOS 中启用了虚拟化功能:
开机按F2,进入BIOS,找到【configuration】选项卡,【Inter Virtual Technology】,回车选择enable

参考:
https://zhuanlan.zhihu.com/p/586751199
https://zhuanlan.zhihu.com/p/617468891

我的电脑是 按F12 + Fn 进入dios界面

rust

Using the following command, we can install and configure the Rust tooling on your local system. The following command will automatically download the correct binaries needed for your specific operating system:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

As part of this Rust installer, Rustup will also configure your terminal’s PATH to include the rust toolchain.

After the installation is complete, restart your terminal or run the following command to manually refresh your new PATH settings to make the rust tooling (like cargo) available:

source ~/.bashrc

验证安装:

rustc --version

返回rustc 1.76.0 (07dca489a 2024-02-04)

Install the Solana CLI

本文带你轻松搭建solana验证节点

  1. 下载solana二进制文件
wget https://github.com/solana-labs/solana/releases/download/v1.17.24/solana-release-x86_64-unknown-linux-gnu.tar.bz2
  1. 解压solana二进制文件压缩包

    安装工具

    sudo apt update
    sudo apt install bzip2
    

    解压solana二进制文件压缩包

tar jxf solana-release-x86_64-unknown-linux-gnu.tar.bz2
  1. 设置环境变量
cd solana-release/
export PATH=$PWD/bin:$PATH
  1. 查看当前已安装的solana版本
    显示有版本信息则安装成功
solana --version

踩坑指南:

官网下载命令根本不行

 sh -c "$(curl -sSfL https://release.solana.com/stable/install)"

设置了中断代理也不行(我用的clash)

set http_proxy=http://127.0.0.1:7890 & set https_proxy=http://127.0.0.1:7890

只好在windows上下载solana-release-x86_64-unknown-linux-gnu.tar.bz2,下载链接 https://github.com/solana-labs/solana/releases/download/v1.17.24/solana-release-x86_64-unknown-linux-gnu.tar.bz2

从windows上复制到wsl上,参考https://blog.csdn.net/Caoyang_He/article/details/107898883

比如,我的文件放在D盘
在ubuntu终端输入:
cd /mnt/d
ls

就可以看到自己文件:
在这里插入图片描述
使用mv命令复制到目标文件夹

Install Anchor for Solana

  1. Install avm

    cargo install --git https://github.com/coral-xyz/anchor avm --locked --force
    

    ps 上面的命令我也不行
    分解为:

    git clone https://github.com/coral-xyz/anchor.git
    cargo install --path=./anchor avm --locked --force
    

    报错:error: linker cc not found

    解决:

    sudo apt update
    sudo apt install build-essential
    
  2. Install Anchor using avm #
    To install the latest version of anchor using avm:

    avm install latest
    avm use latest
    

    坑:经常报错。解决方案换节点
    warning: be sure to add /home/ysh1/.avm/bin to your PATH to be able to run the installed binaries
    Now using anchor version 0.29.0.

    解决方案: export PATH=/home/ysh1/.avm/bin:$PATH

  3. checking
    After the anchor installation is complete, you can verify anchor was installed by checking the installed version:

    anchor --version
    

    上面的命令没用是因为path没有配好:

    要使用vi编辑.bashrc文件,您可以按照以下步骤进行:

    1. 打开终端
    2. 输入以下命令以使用vi编辑器打开.bashrc文件:
      vi .bashrc
      
    3. 您将看到.bashrc文件的内容以及vi编辑器的界面。
    4. 您可以使用vi编辑器的命令来编辑文件,例如:
      • i 进入插入模式,可以开始编辑文件
      • 编辑完成后,按 Esc 键退出插入模式
      • 输入 :wq 并按 Enter 保存并退出文件

    通过这些步骤,您可以使用vi编辑器来编辑.bashrc文件。请注意,vi编辑器可能对初学者来说有一定的学习曲线,您可以随时查阅vi编辑器的相关教程来了解更多操作方法。

    export PATH=/home/ysh1/solana/solana-release/bin:$PATH
    export PATH=/home/ysh1/.avm/bin:$PATH
    

source ~/.bashrc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/276576.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】五种方法实现C语言中大小写字母的转化

文章目录 📝tolower/toupper函数🌉tolower🌠 toupper 🌠 ASCII码关系🌉位操作🌉宏定义 🌠小巧第五位🚩总结 📝tolower/toupper函数 🌉tolower tolower函数是…

Windows中在C#中使用Dapper和Mysql.Data库连接MySQL数据库

Windows中在C#中使用Dapper和Mysql.Data库连接MySQL数据库 在Windows中使用C#连接Mysql数据库比较简单,可以直接使用MySql.Data库,目前最新版本为:8.3.0。 当然也可以结合MySql.Data和Dapper库一起使用,目前Dapper的最新版本为&a…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Progress)

进度条组件&#xff0c;用于显示内容加载或操作处理等进度。 说明&#xff1a; 该组件从API version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 Progress(options: ProgressOptions<Type>) 创建进度组件&a…

Python Web应用程序构建的最佳实践:代码实例与深度解析【第122篇—装饰器详解】

Python Web应用程序构建的最佳实践&#xff1a;代码实例与深度解析 在当今数字时代&#xff0c;构建高效、可扩展的Web应用程序是开发者们的一项重要任务。Python&#xff0c;作为一种简洁、强大的编程语言&#xff0c;为Web开发提供了丰富的工具和框架。在本篇文章中&#xff…

用户案例|向量引擎在携程酒店搜索中的应用场景和探索

Zilliz AI 初创计划是面向 AI 初创企业推出的一项扶持计划&#xff0c;预计提供总计 1000 万元的 Zilliz Cloud 抵扣金&#xff0c;致力于帮助 AI 开发者构建高效的非结构化数据管理系统&#xff0c;助力打造高质量 AI 服务与运用&#xff0c;加速产业落地。访问https://zilliz…

【机器学习300问】38、什么是K-means算法?

在实际工作中&#xff0c;我们经常会遇到这样一类问题&#xff1a;给机器输入大量的特征数据&#xff0c;并期望机器通过学习找出数据存在的某种共性特征、结构或关联。这类问题被称为“非监督学习”问题。这篇文章我就来聚焦非监督学习中的其中一个任务——聚类 例如在数字营销…

OpenHarmony教程指南—ArkTS时钟

简单时钟 介绍 本示例通过使用ohos.display 接口以及Canvas组件来实现一个简单的时钟应用。 效果预览 使用说明 1.界面通过setInterval实现周期性实时刷新时间&#xff0c;使用Canvas绘制时钟&#xff0c;指针旋转角度通过计算得出。 例如&#xff1a;"2 * Math.PI /…

leetcode 3.11

leetcode hot 100 二分查找1.寻找旋转排序数组中的最小值 矩阵1.搜索二维矩阵 II知识点&#xff1a;upper_bound, lower_bound知识点&#xff1a;二分查找 2.搜索二维矩阵 链表1.合并两个有序链表2.两数相加3. 删除链表的倒数第 N 个结点 二分查找 1.寻找旋转排序数组中的最小…

【C#】.net core 6.0 使用第三方日志插件Log4net,日志输出到控制台或者文本文档

欢迎来到《小5讲堂》 大家好&#xff0c;我是全栈小5。 这是《C#》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对知识点的理解和掌握。…

鸿蒙Next学习-Flex布局

Entry Component struct FlexCase {build() {//需要在构造参数上传Flex({ direction: FlexDirection.Row,justifyContent:FlexAlign.Center }) {//flex布局Row().width(100).height(100).backgroundColor(Color.Red)Row().width(100).height(100).backgroundColor(Color.Yellow…

c++11语法特性

c11 1.c11发展简介 ​ 第一个比较正式的c标准是1998提出的c98标准。之后定了5年计划&#xff0c;每5年来一次大更新。在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1)&#xff0c;使得C03这个名字已经取代了C98称为C11之前的最新C标准名称。不过由于C03(TC1)主要是对C…

工作中Git如何切换远程仓库地址

工作中Git如何切换远程仓库地址 部门之前的仓库不用了&#xff0c;重新建了一个仓库&#xff0c;但是上传代码还是上传到了之前的仓库里面了&#xff0c;所以得进行修改&#xff0c;下面将修改地址的方法进行操作。 方法一、直接修改远程仓库地址 查看当前远程仓库地址 git …

使用 ChatGPT 写高考作文

写作文&#xff0c;很简单&#xff0c;但写一篇好的作文&#xff0c;是非常有难度的。 想要写一篇高分作文&#xff0c;需要对作文题目有正确的理解&#xff0c;需要展现独到的观点和深入的思考&#xff0c;需要具备清晰的逻辑结构&#xff0c;需要准确而得体的语言表达。 正…

【Linux进阶之路】HTTPS = HTTP + S

文章目录 一、概念铺垫1.Session ID2.明文与密文3.公钥与私钥4.HTTPS结构 二、加密方式1. 对称加密2.非对称加密3.CA证书 总结尾序 一、概念铺垫 1.Session ID Session ID&#xff0c;即会话ID&#xff0c;用于标识客户端与服务端的唯一特定会话的标识符。会话&#xff0c;即客…

LeetCode 热题 100 | 回溯(二)

目录 1 39. 组合总和 2 22. 括号生成 3 79. 单词搜索 菜鸟做题&#xff0c;语言是 C&#xff0c;感冒快好版 关于对回溯算法的理解请参照我的上一篇博客&#xff1b; 在之后的博客中&#xff0c;我将只分析回溯算法中的 for 循环。 1 39. 组合总和 题眼&#xff1a;c…

15届蓝桥杯第二期模拟赛题单详细解析

文章目录 &#x1f9e1;&#x1f9e1;t1_求余&#x1f9e1;&#x1f9e1;思路代码 &#x1f9e1;&#x1f9e1;t2_灌水&#x1f9e1;&#x1f9e1;思路代码 &#x1f9e1;&#x1f9e1;t3_字符显示&#x1f9e1;&#x1f9e1;思路代码 &#x1f9e1;&#x1f9e1;t4_区间最大和…

网络计算机

TCP/IP四层模型 应用层&#xff1a;位于传输层之上&#xff0c;主要提供两个设备上的应用程序之间信息交换的服务&#xff0c;它定义了信息交换的格式&#xff0c;消息会交给下一层传输层来传递。我们把应用层交互的数据单元称为报文。应用层工作在操作系统的用户态&#xff0…

YOLOv8_pose-Openvino和ONNXRuntime推理【CPU】

纯检测系列&#xff1a; YOLOv5-Openvino和ONNXRuntime推理【CPU】 YOLOv6-Openvino和ONNXRuntime推理【CPU】 YOLOv8-Openvino和ONNXRuntime推理【CPU】 YOLOv7-Openvino和ONNXRuntime推理【CPU】 YOLOv9-Openvino和ONNXRuntime推理【CPU】 跟踪系列&#xff1a; YOLOv5/6/7-O…

Android 音频系统

导入 早期Linux版本采用的是OSS框架&#xff0c;它也是Unix及类Unix系统中广泛使用的一种音频体系。 ALSA是Linux社区为了取代OSS而提出的一种框架&#xff0c;是一个源代码完全开放的系统(遵循GNU GPL和GNU LGPL)。ALSA在Kernel 2.5版本中被正式引入后&#xff0c;OSS就逐步…

C语言:操作符详解(下)

目录 一、逗号表达式二、下标访问[ ]、函数调用()1. [ ]下标引用操作符2.函数调用操作符 三、结构成员访问操作符1.结构体(1) 结构的声明(2) 结构体变量的定义和初始化 2.结构成员访问操作符(1)结构体成员的直接访问(2)结构体成员的间接访问 四、操作符的属性&#xff1a;优先级…