NEAR SDK
The NEAR SDK is a library that allow to develop smart contracts. Currently, there exist two versions of NEAR SDK: one for Rust and one for JavaScript.
The best place to start learning is our QuickStart Guide
Smart Contracts on NEAR
This is how a smart contract written in Rust and JavaScript using the NEAR SDK looks like:
- 🌐 JavaScript
- 🦀 Rust
```js
@NearBindgen({})
class HelloNear {
greeting: string = 'Hello';
@view({}) // This method is read-only and can be called for free
get_greeting(): string {
return this.greeting;
}
@call({}) // This method changes the state, for which it cost gas
set_greeting({ greeting }: { greeting: string }): void {
near.log(`Saving greeting ${greeting}`);
this.greeting = greeting;
}
}
```
```rust
#[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;
}
}
```
Want to build a smart contract? Check our QuickStart Guide
🎉 Ready to start developing?
Start from our Smart Contract QuickStart Guide, 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 that will help you understand diverse use cases and how to implement them
If you are new to smart contracts, we recommend you start with our Smart Contract QuickStart Guide before moving to the examples
Searching for the Reference Docs
If you need to find a specific function signature, or understand the SDK struct/classes, please visit the SDK specific pages:
If you are new to smart contracts, we recommend you start with our Smart Contract QuickStart Guide before moving to the reference documentation