1.0.0 • Published 6 months ago

bctsag-tellorflex v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

Initial Setup

Prerequisites

The following tools are expected to be installed on your system to run this project:

  • Node
  • NPM
  • YARN
  • Hardhat
  • Git

Setup

Install dependencies:

yarn install

Compile

Compile contracts:

npx hardhat compile

Lint

Run linter:

npx eslint .

Publish

Publish to NPM repository.

Login to your account at https://www.npmjs.com/:

npm login

Publish package to your NPM account:

npm publish

Usage

Test Locally (on hardhat)

Run unit tests on the contracts (on hardhat):

npx hardhat test

Test Locally (on localhost)

  1. Start HTTP and WebSocket JSON-RPC server at http://127.0.0.1:8545/:
npx hardhat node
  1. Run unit tests on the contracts (by other command line terminal):
npx hardhat test --network localhost

Deploy Smart Contracts

You need to set the environment variables NODE_URL and PRIVATE_KEY.

Deploy Smart Contracts onto Fantom testnet

  1. Use the Fantom Faucet to claim FTM test tokens onto your wallet at https://faucet.fantom.network/
  1. Set up the Fantom testnet RPC environment:
export NODE_URL="https://rpc.testnet.fantom.network"
  1. Set up your Fantom testnet wallet private key:
export PRIVATE_KEY="15985334c7f7604690a8cd6080122946f4b0c46652e7068b124a3d749b17b3da"
  1. Deploy the contracts onto the Fantom testnet (with testing StakingToken and GovernanceMock):
npx hardhat run --network fantom_testnet scripts/deployStakingTokenGovernanceMockTellorFlex.js
  1. Deploy the contract onto the Fantom testnet (with existing StakingToken and TellorFlex2):
npx hardhat run --network fantom_testnet scripts/deployTellorFlex2.js

Deploy Smart Contracts onto SwissDLT testnet

  1. You need to have BCTS-TEST test tokens onto your SwissDLT testnet wallet.
  1. Set up the SwissDLT testnet RPC environment:
export NODE_URL="https://swissdlt.appswithlove.net/rpc"
  1. Set up your SwissDLT testnet wallet private key:
export PRIVATE_KEY="15985334c7f7604690a8cd6080122946f4b0c46652e7068b124a3d749b17b3da"
  1. Deploy the contracts onto the SwissDLT testnet (with testing StakingToken and GovernanceMock):
npx hardhat run --network swissdlt_testnet scripts/deployStakingTokenGovernanceMockTellorFlex.js
  1. Deploy the contract onto the SwissDLT testnet (with existing StakingToken and TellorFlex2):
npx hardhat run --network swissdlt_testnet scripts/deployTellorFlex2.js

Deploy Smart Contracts onto Hedera testnet

  1. Create your Hedera Testnet account at https://portal.hedera.com/. The account will be credited with 10,000 test HBAR tokens.
    • Inside the portal create ED25519 account and then ECDSA account
    • After that, you will have 10000 HBAR on ED25519 account
    • Install Hedera Hashpack wallet plugin for Chrome (same as MetaMask)
    • Import to the Hedera Hashpack the private key of your created ED25519 account
    • By Hedera Hashpack wallet send some HBAR from your ED25519 to your ECDSA account
    • Import to the MetaMask your ECDSA account private key
  1. Set up the Hedera testnet RPC environment:
export NODE_URL="https://testnet.hashio.io/api"
  1. Set up your Hedera testnet wallet private key:
export PRIVATE_KEY="15985334c7f7604690a8cd6080122946f4b0c46652e7068b124a3d749b17b3da"
  1. Deploy the contracts onto the Hedera testnet (with testing StakingToken and GovernanceMock):
npx hardhat run --network hedera_testnet scripts/deployStakingTokenGovernanceMockTellorFlex.js
  1. Deploy the contract onto the Hedera testnet (with existing StakingToken and TellorFlex2):
npx hardhat run --network hedera_testnet scripts/deployTellorFlex2.js

Contributing

Bug reports and pull requests are welcome on GitHub at: https://github.com/BCTSAG/tellor