Quick Start

To run this project locally:

  1. Prerequisites: Make sure you've installed [Node.js] ≥ 12
  2. Install dependencies: npm install
  3. Go into frontend folder and run npm install to install Typescript and Tailwind.
  4. Run the frontend from the frontend folder using: npm run dev

Exploring The Code

  1. The "backend" code lives in the /contract folder. See the README there for more info.
  2. The frontend code lives in the /frontend folder.
  3. Tests: there are different kinds of tests for the frontend and the smart contract. See contract/README for info about how it's tested.

Deploy

Every smart contract in NEAR has its [own associated account][NEAR accounts]. When you run yarn dev, your smart contract gets deployed to the live NEAR TestNet with a throwaway account. When you're ready to make it permanent, here's how.

Step 0: Install near-cli (optional)

[near-cli] is a command line interface (CLI) for interacting with the NEAR blockchain. It was installed to the local node_modules folder when you ran yarn install, but for best ergonomics you may want to install it globally:

yarn install --global near-cli

Or, if you'd rather use the locally-installed version, you can prefix all near commands with npx

Ensure that it's installed with near --version (or npx near --version)

Step 1: Create an account for the contract

Each account on NEAR can have at most one contract deployed to it. If you've already created an account such as your-name.testnet, you can deploy your contract to template.your-name.testnet. Assuming you've already created an account on [NEAR Wallet], here's how to create template.your-name.testnet:

  1. Authorize NEAR CLI, following the commands it gives you:

    near login

  2. Create a subaccount (replace YOUR-NAME below with your actual account name):

    near create-account template.YOUR-NAME.testnet --masterAccount YOUR-NAME.testnet

Step 2: set contract name in code

Modify the line in src/config.js that sets the account name of the contract. Set it to the account id you used above.

const CONTRACT_NAME = process.env.CONTRACT_NAME || 'template.YOUR-NAME.testnet'

Step 3: deploy!

One command:

yarn deploy

As you can see in package.json:

  1. builds & deploys smart contract to NEAR TestNet

Author: @sebasvivas1 - mzterdox.near