Skip to content

hongphong/solana-programs-anchor

Repository files navigation

Rust Tutorial

Install Cargo and Rust Env

-- install rustc: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -- create projects with cargo:

Create a new project: cargo new Create a new project in an existing directory: cargo init Build the project: cargo build Run the project: cargo run Update project dependencies: cargo update Run tests: cargo test Run benchmarks: cargo bench Generate the project documentation via rustdoc: cargo doc Analyze the project to see it has any errors, without building it: cargo check

Solana Overview

Architecutre:

Docs:

Install Solana (MacOS)

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

Verify

solana --version

Useful CLI Commands:

-- Set testnet url: solana config set --url http://api.devnet.solana.com
-- Generate keypair: solana-keygen new --outfile keypair/test-keypair.json -- Set keypair: solana config set --keypair -- Set airdrop: solana airdrop 2 -- Check current public key of current account: solana address -- Check current state of one account: solana account

Install ENV:

-- Set testnet url: solana config set --url http://api.devnet.solana.com
-- Generate keypair: solana-keygen new --outfile keypair/test-keypair.json -- Set keypair: solana config set --keypair -- Set airdrop: solana airdrop 2

Build programs:

  • build: npm run build:program-rust
  • deploy to devnet: solana program deploy dist/program/helloworld.so
  • test program with client: npm start

INSTALL ANCHOR

CHECK ENV

anchor --version

START TEST NODE LOCALHOST

solana-test-validator

INSTALL ANCHOR:

cargo install --git https://github.com/project-serum/anchor anchor-cli --locked

INSTALL YARN

npm install -g yarn brew install yarn

DEVELOPING

Init project

anchor init

Create new program

anchor new

Build programs

anchor build anchor build -p (For specific program)

Deploy

anchor deploy --provider.cluster devnet anchor deploy --provider.cluster devnet -p (For specific program)

public IDL

anchor idl init --filepath <PROGRAM_ID> --provider.cluster --provider.wallet EX: anchor idl init --filepath ./target/idl/solana_example_counter.json EocvjwaAyd7pxUqYNQCyvBD9pKTip1axngq48W4bZXUu --provider.cluster devnet

Usefull Cli:

check publickey from keypair: solana address -k target/deploy/solana_helloworld-keypair.json

Test without deploy:

anchor test --skip-deploy --skip-local-validator -provider.cluster <devnet|localnet> anchor run <script test defined in Anchor.toml> --provider.cluster localnet

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages