LoginSignup
2
1

solana 開発勉強日誌1 テストプログラム

Last updated at Posted at 2024-04-23

solana勉強の際に自分の為にまとめるノート
随時更新変更。間違いは多数ありそう

必要な知識など
必要言語、javascript,typescript,rustで書かれてる
デプロイ(ブロックチェーン上にプログラムをアップロード)するのにAnchor(分かった方が良いらしい)
https://solanacookbook.com/ja/getting-started/installation.html#install-rust
solana cli
https://www.rust-lang.org/ja/tools/install
Rust
https://nodejs.org/en/download
node.js(mac or windows)
https://learn.microsoft.com/ja-jp/windows/wsl/install-manual
wsl or wsl2

最低でもこれぐらいはPCに準備しておく

solanaをIDE(?)で使える入門編
https://beta.solpg.io/

windowsだとRustが使い辛い(らしい
WSLをインストールする(WSLはWindows Subsystem for Linuxの略

solanaにどんなコマンドがあるか分からない&忘れた時に使う

solana

新しくキーペアを作る

solana-keygen new

keyperの場所、設定しているmainnet,testnet等わかる

solana config get

Devnet に変更する(main,dev,test,localなどある

solana config set --url https://api.devnet.solana.com

Key を設定(変更する

solana config set --keypair ${HOME}/.config/solana/alice.json

solana CLI version確認

solana --version

SOL を入手

solana airdrop 5

良くエラーが出るからこっちのが安定
https://faucet.solana.com/

Rustやsolanaの環境構築が一通り出来たら
ローカル環境でやっていく
プロジェクトのビルドにはcargo build
プロジェクトの実行にはcargo run
プロジェクトのテストにはcargo test
プロジェクトのドキュメントのビルドにはcargo doc
ライブラリをcrates.ioに公開するにはcargo publish

基本的に、cargo new 〇〇、cargo build、cargo runの順に進む

以下test(WSL環境下

cargo new rust-like
cd rust-like
main.rs
use ferris_says::say; // from the previous step
use std::io::{stdout, BufWriter};

fn main() {
    let stdout = stdout();
    let message = String::from("Hello fellow Rustaceans!");
    let width = message.chars().count();

    let mut writer = BufWriter::new(stdout.lock());
    say(&message, width, &mut writer).unwrap();
}
Cargo.toml
[package]
name = "rust-like"
version = "0.1.0"
edition = "2021"

[dependencies]
ferris-says = "0.3"

上記main.rs、Cargo.tomlを書き換える。各環境でverは違うかも

cargo build
cargo run

スクリーンショット 2024-04-24 034635.png

とりあえず動かす所まで

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1