Environment Setup

Only applicable if experimenting with building cool stuff using the Fismo SDK. If you want to directly work on, test, or audit the Fismo protocol, you should visit the Fismo Repo.

Stack

For the Fismology project, the stack is a simple one:

  • Solidity
  • JavaScript
  • Node/NPM
  • HardHat
  • Ethers

Download or clone the Fismology repository

git clone https://github.com/cliffhall/Fismology.git

Install Node (also installs NPM)

Install required Node modules

  • All NPM modules are project local. No global installs required.
cd path/to/Fismology
npm install

Configure Environment

  • Copy environments_template.js to environments.js and edit to suit.
  • API keys are only needed for deploying to public networks.
  • environments.js is included in .gitignore and will not be committed to the repo.
  • For your target Ethereum network environment, set:
    • gasLimit: override the default gasLimit for transactions
    • explorer: the url of the etherscan-based block explorer
    • txNode: the endpoint for sending ethereum transactions
    • mnemonic: a valid ethereum HD wallet seed phrase (first wallet is used as deployer)
    • deployments.Fismo: your clone of the official Fismo deployment
    • deployments.Operator: your clone of the official Fismo deployment
  • API Keys are needed for various operations:
    • apiKey.block_explorer: your etherscan/poloygonscan/etc API key (used to verify deployed contracts)
    • apiKey.coinmarketcap: your API key for CoinMarketCap (used with hardhat-gas-reporter)
    • apikey.nft_storage: your API key for NFT.Storage Filecoin/IPFS gateway