Skip to content

opengate-labs/funstake-contracts

Folders and files

NameName
Last commit message
Last commit date
Jul 23, 2024
Jul 20, 2024
Aug 3, 2024
Jul 15, 2024
Jul 15, 2024
Jul 23, 2024
Jul 15, 2024
Jul 23, 2024
Aug 3, 2024
Aug 3, 2024
Jul 15, 2024
Jul 23, 2024

Repository files navigation

Hello NEAR Contract

The smart contract exposes two methods to enable storing and retrieving a greeting in the NEAR network.

@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 {
    // Record a log permanently to the blockchain!
    near.log(`Saving greeting ${greeting}`);
    this.greeting = greeting;
  }
}

Quickstart

  1. Make sure you have installed node.js >= 16.
  2. Install the NEAR CLI

1. Build and Test the Contract

You can automatically compile and test the contract by running:

npm run build

2. Create an Account and Deploy the Contract

You can create a new account and deploy the contract by running:

near create-account <your-account.testnet> --useFaucet
near deploy <your-account.testnet> build/release/hello_near.wasm

3. Retrieve the Greeting

get_greeting is a read-only method (aka view method).

View methods can be called for free by anyone, even people without a NEAR account!

# Use near-cli to get the greeting
near view <your-account.testnet> get_greeting

4. Store a New Greeting

set_greeting changes the contract's state, for which it is a call method.

Call methods can only be invoked using a NEAR account, since the account needs to pay GAS for the transaction.

# Use near-cli to set a new greeting
near call <your-account.testnet> set_greeting '{"greeting":"howdy"}' --accountId <your-account.testnet>

Tip: If you would like to call set_greeting using another account, first login into NEAR using:

# Use near-cli to login your NEAR account
near login

and then use the logged account to sign the transaction: --accountId <another-account>.

About

Funstake Contracts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published