-- 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
Docs:
- https://www.youtube.com/watch?v=izV2Ev3To_s
- https://medium.com/solana-labs/proof-of-history-a-clock-for-blockchain-cf47a61a9274
There 4 main layers:
-- Setup Layer:
- Gulf Stream: Transfer transaction from clients to Leader Validator
- Turbine: Transfer messages betwwen validators (Gossip)
- Crypto Building Blocks (Hash, signature...)
- PoH
- Archivers: Store historical data -- Consensus Layer: Tower BFT -- Runtime Layter:
- Cloudbreak,
- Pipelining (Solana TPU (transaction per unit))
- Sealevel -- Application SC Layer: Wallets, Solana Programs
sh -c "$(curl -sSfL https://release.solana.com/v1.14.8/install)"
solana --version
-- 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
-- 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: npm run build:program-rust
- deploy to devnet: solana program deploy dist/program/helloworld.so
- test program with client: npm start
anchor --version
solana-test-validator
cargo install --git https://github.com/project-serum/anchor anchor-cli --locked
npm install -g yarn brew install yarn
anchor init
anchor new
anchor build anchor build -p (For specific program)
anchor deploy --provider.cluster devnet anchor deploy --provider.cluster devnet -p (For specific program)
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
Docs for CLI: https://book.anchor-lang.com/anchor_references/cli.html
check publickey from keypair: solana address -k target/deploy/solana_helloworld-keypair.json
anchor test --skip-deploy --skip-local-validator -provider.cluster <devnet|localnet> anchor run <script test defined in Anchor.toml> --provider.cluster localnet