Skip to content

rsksmart/rns-manager-react

Repository files navigation

logo

RNS Manager

Manage your RNS domains
Mainnet: https://manager.rns.rifos.org
Testnet: https://testnet.manager.rns.rifos.org

Quality Gate Status

Run for development

Requisites:

Install dependencies:

yarn

Run locally

  1. Run a local blockhain:
    • Preferred: RSK node
    • Other options: Ganache or Truffle develop
  2. Deploy RNS Suite on your local blockchain.
  3. Set the contract addresses in /src/app/config/contracts.local.json. The contract names are the same as the JSON variable name except for the following:
    • rif variable is the ERC677 contract
    • registrar variable is the TokenRegistrar contract

If you are not using localhost:8545 as your network, change the .env variable in .env.local

yarn start

Connect your browser wallet to local environment using 'Custom RPC' option

Run locally against public networks

For RSK Mainnet

yarn start:mainnet

For RSK Testnet

yarn start:testnet

Run tests

The testing suite will first install the RNS suite on a local blockchain before running. To make sure this works properly, start Ganache, and set the URL and port in /tests/setEnvVars.js.

Run the linter and unit tests:

yarn test

Run a test watcher:

yarn test:watch

Update snapshots and run watcher:

yarn test:watch -u

Branching model

  • main has latest release. Merge into main will deploy to S3. Do merge commits.
  • develop has latest approved PR. Do squash & merge.

PRs:

  • Use branches pointing to latest commit in develop
  • Will deploy to Github Pages

Build

yarn build

For RSK Mainnet:

yarn build:mainnet

For RSK Testnet:

yarn build:testnet

Running production builds

Mainnet:

docker build -t rns-manager-mainnet . -f mainnet.Dockerfile
docker run -d --name rns-manager-mainnet -p 5000:5000 rns-manager-mainnet

Testnet:

docker build -t rns-manager-testnet . -f testnet.Dockerfile
docker run -d --name rns-manager-testnet -p 5001:5001 rns-manager-testnet

Custom theme

To change the default RIF theme edit the theme.json file containing the following properties:

{
  "logo": "",
  "footerLogo": "",
  "font": {
    "family": "",
    "src": ""
  },
  "colors": {
    "primary": {
      "main": "",
      "light": "",
      "dark": "",
      "transparent": ""
    },
    "secondary": {
      "main": "",
      "light": "",
      "dark": "",
      "transparent": ""
    }
  },
  "images": {
    "homeSpacer": "",
    "footerArch": ""
  },
  "hideHomeContent": false
}

Custom theme

To change the default RIF theme edit the theme.json file containing the following properties:

{
  "logo": "",
  "footerLogo": "",
  "font": {
    "family": "",
    "src": ""
  },
  "colors": {
    "primary": {
      "main": "",
      "light": "",
      "dark": "",
      "transparent": ""
    },
    "secondary": {
      "main": "",
      "light": "",
      "dark": "",
      "transparent": ""
    }
  },
  "images": {
    "homeSpacer": "",
    "footerArch": ""
  },
  "hideHomeContent": false
}

Options:

  • logo: String URL of the header logo.
  • footerLogo: String URL of the footer logo.
  • font:
    • family: String Name of the font
    • url: String URL of the font file, leave empty if the font family is a system font.
  • colors:
    • primary:
      • main: String Color for main areas, hero sections and buttons.
      • light: String Text colors, borders and alerts.
      • dark: String Text colors, borders and alerts on hover.
      • transparent: String On button focus events text color.
    • secondary:
      • main: String Secondary buttons text color.
      • light: String Secondary buttons background color and borders.
      • dark: String Secondary buttons background color and borders on hover.
      • transparent: String On secondary button focus events text color.
  • images:
    • homeSpacer: String URL of the separator image on the homepage, SVG recommended.
    • footerArch: String URL of the footer separator image, SVG recommended.
  • hideHomeContent: Boolean Hide informational content in the homepage.