TypeScript package for generating clients from IDL
CLI and workspace management for developing complete applications
Anchor is the most popular framework for Solana programs.
[!NOTE]
If you’re familiar with developing in Ethereum’s Solidity, Truffle, web3.js, then using Anchor will be familiar. Although the DSL syntax and semantics are targeted at Solana, the high level flow of writing RPC request handlers, emitting an IDL, and generating clients from IDL is the same.
To jump straight to examples, go here. For the latest Rust and TypeScript API documentation, see docs.rs and the typedoc.
Installation
The recommended way to install the Anchor CLI is with the Anchor Version Manager (AVM).
curl -sSfL https://raw.githubusercontent.com/solana-foundation/anchor/master/avm/install | sh
The installer downloads the latest nightly AVM and Anchor CLI binaries, enables
the nightly channel, and links the avm and anchor commands into
~/.cargo/bin when possible. After that, anchor will use the latest cached
nightly build and periodically check for updates.
If you already have AVM installed, you can enable the nightly channel directly:
avm nightly
To leave nightly mode and return to normal AVM version resolution, run:
avm nightly --disable
Packages
Package
Description
Version
Docs
anchor-lang
Rust primitives for writing programs on Solana
anchor-spl
CPI clients for SPL programs on Solana
anchor-client
Rust client for Anchor programs
@anchor-lang/core
TypeScript client for Anchor programs
@anchor-lang/cli
CLI to support building and managing an Anchor workspace
Examples
Here’s a counter program, where only the designated authority
can increment the count.
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in Anchor by you, as defined in the Apache-2.0 license, shall be
licensed as above, without any additional terms or conditions.
This code is provided as-is, without warranties or liability.
Contribution
Thank you for your interest in contributing to Anchor!
Please see the CONTRIBUTING.md to learn how.
Anchor
Solana Program Framework
Anchor is a framework providing several convenient developer tools for writing Solana programs (sometimes called ‘smart contracts’).
Anchor is the most popular framework for Solana programs.
Getting Started
For a quickstart guide and in depth tutorials, see the Anchor book and the Anchor documentation.
To jump straight to examples, go here. For the latest Rust and TypeScript API documentation, see docs.rs and the typedoc.
Installation
The recommended way to install the Anchor CLI is with the Anchor Version Manager (AVM).
The installer downloads the latest nightly AVM and Anchor CLI binaries, enables the nightly channel, and links the
avmandanchorcommands into~/.cargo/binwhen possible. After that,anchorwill use the latest cached nightly build and periodically check for updates.If you already have AVM installed, you can enable the nightly channel directly:
To leave nightly mode and return to normal AVM version resolution, run:
Packages
anchor-langanchor-splanchor-client@anchor-lang/core@anchor-lang/cliExamples
Here’s a counter program, where only the designated
authoritycan increment the count.For more, see the examples and tests directories.
Fuzzing
anchor fuzzintegrates Crucible for coverage-guided program fuzzing. See the fuzzing docs or the Crucible docs.License
Anchor is licensed under Apache 2.0.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Anchor by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.
This code is provided as-is, without warranties or liability.
Contribution
Thank you for your interest in contributing to Anchor! Please see the CONTRIBUTING.md to learn how.
Thanks ❤️