solana 入门 1

news2024/11/17 23:30:44

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.coloradmin.cn/o/1516854.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LLM推理框架Triton Inference Server学习笔记(一): Triton Inference Server整体架构初识

官方文档查阅: TritonInferenceServer文档 1. 写在前面 这篇文章开始进行大语言模型(Large Language Model, LLM)的学习笔记整理,这次想从Triton Inference Server框架开始,因为最近工作上用到了一些大模型部署方面的知识, 所以就快速补充了…

SpringBoot配置资源文件自动热更新

1、修改启动配置 On update action 和 On frame deactivation 添加 update classes and resources 配置 2、IDEA菜单栏File->setting->Build,Execution,Deployment->Compiler 勾选Build project automatically 3、禁用Thymeleaf的缓存 在开发环境中,通过…

点云处理ransac算法

参考资料: 点云处理入门 RANSAC & ICP with PCL Demo - 知乎 ransac是什么? 随机采样一致算法(RANdom SAmple Consensus)RANSAC。该算法可以从一组观测数据中(包含离群点),查找出符合某个数…

圈子社交系统-多人语音-交友-陪玩-活动报名-商城-二手论坛-源码交付,支持二开!

圈子小程序适用于多种场景,涵盖了各个领域的社交需求。以下是一些常见的适用场景: 兴趣社区: 用户可以加入自己感兴趣的圈子,与志同道合的人一起讨论交流,分享经验和知识。 行业交流: 各个行业可以建立自…

【C++map和set容器:AVL树、红黑树详解并封装实现map和set】

[本节目标] map和set底层结构 AVL树 红黑树 红黑树模拟实现STL中的map和set 1.底层结构 前面对map/multimap/set/multiset进行了简单的介绍,在其文档介绍中发现,这几个容器有个 共同点是:其底层都是按照二叉搜索树来实现的,但…

【C++】string的底层剖析以及模拟实现

一、字符串类的认识 C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数, 但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理&a…

算法空间复杂度计算

目录 空间复杂度定义 影响空间复杂度的因素 算法在运行过程中临时占用的存储空间讲解 例子 斐波那契数列递归算法的性能分析 二分法(递归实现)的性能分析 空间复杂度定义 空间复杂度(Space Complexity)是对一个算法在运行过程中临时占用存储空间大…

深入理解JAVA异常(自定义异常)

目录 异常的概念与体系结构 异常的概念: 异常的体系结构: 异常的分类: 异常的处理 防御式编程 LBYL: EAFP: 异常的抛出 异常的捕获 异常声明throws try-catch捕获并处理 finally 面试题: 异常的处理流程 异常处…

【数据结构与算法】:插入排序与希尔排序

🔥个人主页: Quitecoder 🔥专栏: 数据结构与算法 欢迎大家来到初阶数据结构的最后一小节:排序 目录 1.排序的基本概念与分类1.1什么是排序的稳定性?1.2内排序与外排序内排序外排序 2.插入排序2.1实现插入排序2.3稳定性…

谈谈你对Java平台的理解?

从你接触 Java 开发到现在,你对 Java 最直观的印象是什么呢?是它宣传的 “Write once, run anywhere”,还是目前看已经有些过于形式主义的语法呢?你对于 Java 平台到底了解到什么程度?请你先停下来总结思考一下。 今天…

【DAY11 软考中级备考笔记】数据结构 排序操作系统

数据结构 排序&&操作系统 3月14日 – 天气:晴 今天天气非常热,已经到20度了,春天已经来了。 1. 堆排序 堆排序的思想是首先建立一个堆,然后弹出堆顶元素,剩下的元素再形成一个堆,然后继续弹出元素&…

计算机视觉研究院 | EdgeYOLO:边缘设备上实时运行的目标检测器及Pytorch实现

本文来源公众号“计算机视觉研究院”,仅用于学术分享,侵权删,干货满满。 原文链接:EdgeYOLO:边缘设备上实时运行的目标检测器及Pytorch实现 代码地址:https://github.com/LSH9832/edgeyolo 今天分享的研究…

【Python】使用plt库绘制动态曲线图,并导出为GIF或MP4

一、绘制初始图像 正常使用plt进行绘图,这里举例一个正弦函数: 二、绘制动态图的每一帧 思路: 根据横坐标点数绘制每一帧画面每次在当前坐标处,绘制一个点和垂直的线,来表示当前点可以在点上加个坐标等样式来增加…

ENISA 2023年威胁态势报告:主要发现和建议

欧盟网络安全局(ENISA)最近发布了其年度2023年威胁态势报告。该报告确定了预计在未来几年塑造网络安全格局的主要威胁、主要趋势、威胁参与者和攻击技术。在本文中,我们将总结报告的主要发现,并提供可操作的建议来缓解这些威胁。 介绍 ENISA 威胁态势报告…

基于SSM的网上医院预约挂号系统的设计与实现(论文+源码)_kaic

摘 要 如今的信息时代,对信息的共享性,信息的流通性有着较高要求,因此传统管理方式就不适合。为了让医院预约挂号信息的管理模式进行升级,也为了更好的维护医院预约挂号信息,网上医院预约挂号系统的开发运用就显得很…

linux系统网络配置

文章目录 Linux系统配置IPLinux系统配置DNSLinux网卡名称命名CentOS7密码重置远程管理Linux服务器 前文我们了解如何启动linux系统,接下来我们继续学习如何配置linux系统的网络,同时也是学习一下Centos 7 系统的密码重置以及借用工具远程链接服务器 Lin…

Python二级备考

考试大纲如下: 基本要求 考试内容 考试方式 比较希望能直接刷题,因为不懂的比较多可能会看视频。 基础操作刷题: 知乎大头计算机1-13题 import jieba txtinput() lsjieba.lcut(txt) print("{:.1f}".format(len(txt)/len(ls)…

WorldGPT、Pix2Pix-OnTheFly、StyleDyRF、ManiGaussian、Face SR

本文首发于公众号:机器感知 WorldGPT、Pix2Pix-OnTheFly、StyleDyRF、ManiGaussian、Face SR HandGCAT: Occlusion-Robust 3D Hand Mesh Reconstruction from Monocular Images We propose a robust and accurate method for reconstructing 3D hand mesh from m…

Selenium 学习(0.20)——软件测试之单元测试

我又(浪完)回来了…… 很久没有学习了,今天忙完终于想起来学习了。没有学习的这段时间,主要是请了两个事假(5工作日和10工作日)放了个年假(13天),然后就到现在了。 看了下…

每周一算法:A*(A Star)算法

八数码难题 题目描述 在 3 3 3\times 3 33 的棋盘上,摆有八个棋子,每个棋子上标有 1 1 1 至 8 8 8 的某一数字。棋盘中留有一个空格,空格用 0 0 0 来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局…