Skip to content

DDeAlmeida/near-contract-helper

 
 

Repository files navigation

near-contract-helper

Microservice used to create NEAR accounts

Local Development

Requirements

  1. Install latest Node.js LTS release
  2. Install HTTPie

Install dependencies

yarn

Create database

Make sure you have PostgreSQL installed and running. On macOS, you can use Postgres.app.

Create accounts_development Postgres DB with helper user/password. You can do this from within psql using:

create user helper with superuser password 'helper';
create database accounts_development with owner=helper;

After that:

yarn migrate

You can also modify DB config in config/config.js to use different connection settings, etc.

Adding Migrations

Follow existing migrations as examples. To generate a migration file use the following:

npx sequelize-cli migration:generate --name migration-skeleton

Environment Variables

Create a .env file, copy in the default values from .env.sample. Read this file for information about how to change configuration settings to suit your needs.

By default, it assumes that you're running a local node and local network. To do this:

  • clone nearcore
  • in your nearcore directory, get a local network running (at the time of writing, the command was ./scripts/start_localnet.py)

Note that you need to add an ACCOUNT_CREATOR_KEY to your .env. Running nearcore locally created a ~/.near/[network]/validator_key.json file for you. Copy the contents of this file and paste them as a single line, with NO whitespace, for the *_KEY value in your .env. e.g. ACCOUNT_CREATOR_KEY={"account_id":"...","...":"...",...}

Run server

yarn start

Create account

http post http://localhost:3000/account newAccountId=nosuchuseryet newAccountPublicKey=22skMptHjFWNyuEWY22ftn2AbLPSYpmYwGJRGwpNHbTV

Running tests

Create database

Follow the instructions above for creating the development database and helper user. Then create an accounts_test database using psql:

create database accounts_test with owner=helper;

Ensure nearcore is running

As mentioned in the "Environment Variables" section above, make sure you are running a local blockchain

Run yarn test

This will run the tests using jest

Tests should be run sequentially, i.e.

jest test --runInBand

About

Micro-service used by NEAR Wallet to store & send recovery methods

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.0%
  • Shell 1.0%