MOMENTSWAP
  • MomentSwap
  • Overview
    • How Momentswap Works
    • Key Features of Momentswap
    • Future Outlook and Potential Improvements
  • User Tutorial on Testnet
    • Install MetaMask Extension.
    • Visit MomentSwap
    • Claim test coins
    • Log in to MomentSwap
    • Posting Articles
    • Generate Space DN.
    • Purchase Space DN
  • Dev Tutorial
Powered by GitBook
On this page
  • Environment Setup
  • Get the code
  • Install dependencies
  • Contract deployment
  • IPFS storage configuration
  • Deploy UI using Fleek

Dev Tutorial

Environment Setup

  • node.js v16

Install node v16 on Ubuntu:

sudo apt install npm
sudo npm i -g n
sudo n 16

Get the code

git clone <https://github.com/momentswap/momentswap.git>

Install dependencies

cd momentswap
npm install

Contract deployment

Set the wallet private key to the .env file:

WALLET_PRIVATE_KEY=<YOUR_PRIVATE_KEY>

</aside>

Compile the contract:

npx hardhat compile

Deploy the contract to the Filecoin mainnet:

The default network is Hyperspace testnet, add the --network filecoinMainnet parameter

npx hardhat run ./fevm/hardhat/deploy/deployMomentSwapFRC721.ts --network filecoinMainnet

npx hardhat run ./fevm/hardhat/deploy/deployFNSMarket.ts --network filecoinMainnet

npx hardhat run ./fevm/hardhat/deploy/deploySapceFNS.ts --network filecoinMainnet

After each successful deployment, the contract address will be returned. Add the contract address to the .env file:

NEXT_PUBLIC_MOMENTSWAP_CONTRACT_ADDRESS=<CONTRACT_ADDRESS>
NEXT_PUBLIC_FNS_MARKET_CONTRACT_ADDRESS=<CONTRACT_ADDRESS>
NEXT_PUBLIC_SPACE_FNS_CONTRSCT_ADDRESS=<CONTRACT_ADDRESS>

IPFS storage configuration

The NFT resources in the MomentSwap website are stored on the IPFS network and need to configure the nft.storage API key

Fill the applied API key to the .env file:

NEXT_PUBLIC_NFT_STORAGE_API_KEY=<API_KEY>

Deploy UI using Fleek

Authorize github and select the momentswap repository:

<aside> ⚠️ If you are not in the development group of the momentswap repository, you need to fork the code to your own repository to select it

</aside>

Select the IPFS network and click Next:

Select the main branch:

Select the NextJS framework:

Modify the build command:

Replace with

npm install && npm run compile-contract && npm run build && npm run export

Set the environment variables:

<aside> ⚠️ WALLET_PRIVATE_KEY is a required field, otherwise compilation error will occur, and temporary wallet private keys can be used to complete the deployment

</aside>

The frontend defaults to the Hyperspace test network. To switch to the Fil main network, you can add the environment variable settings:

NEXT_PUBLIC_FILECOIN_NETWORK=mainnet

Start deployment:

PreviousPurchase Space DN

Last updated 2 years ago

<aside> ⚠️ Convert the address starting with 0x to FIL address:

Application address:

Visit and log in:

https://explorer.glif.io/
https://nft.storage/
https://app.fleek.co/