> ## Documentation Index
> Fetch the complete documentation index at: https://neardocs-update-rpc-openapi.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK Libraries

> The Rust SDK for building smart contracts.

The NEAR SDK for Rust ([near-sdk-rs](https://github.com/near/near-sdk-rs)) is the official library for developing smart contracts. Rust provides the most mature tooling, best performance, and the strongest safety guarantees when handling real assets on-chain.

<Tip>
  The best place to start learning is our [QuickStart Guide](/smart-contracts/quickstart).
</Tip>

<Card title="Rust SDK" icon="code" href="https://docs.rs/near-sdk/latest/near_sdk/">
  Rust SDK reference documentation.
</Card>

## Smart contracts on NEAR

This is how a smart contract written in Rust using the NEAR SDK looks like:

```rust theme={"theme":{"light":"github-light","dark":"github-dark"}}
#[near(contract_state)]
pub struct Contract {
    greeting: String,
}

impl Default for Contract {
    fn default() -> Self {
        Self { greeting: "Hello".to_string(), }
    }
}

#[near]
impl Contract {
    pub fn get_greeting(&self) -> String {
        self.greeting.clone()
    }

    pub fn set_greeting(&mut self, greeting: String) {
        self.greeting = greeting;
    }
}
```

## Community SDKs

Since NEAR contracts compile to WebAssembly, the community maintains SDKs for other languages. They are great for prototyping and learning, but are not covered in this documentation:

* [JavaScript / TypeScript SDK (near-sdk-js)](https://github.com/near/near-sdk-js)
* [Python SDK (near-sdk-py)](https://github.com/r-near/near-sdk-py)
* [Go SDK (near-sdk-go)](https://github.com/vlmoon99/near-sdk-go)

## Ready to start developing?

Start from our [Smart Contract QuickStart Guide](/smart-contracts/quickstart), and let it guide you through all our documentation on building smart contracts.

## Want to see examples?

We have a section dedicated to [tutorials and examples](/smart-contracts/tutorials/basic-contracts) that will help you understand diverse use cases and how to implement them.

## Reference docs

If you need to find a specific function signature, or understand the SDK structs and classes, visit the [Rust SDK reference](https://docs.rs/near-sdk/latest/near_sdk/).
