Inspiration

With the raising of the NEAR blockchain, we believe that there will be more demand for trading NEAR accounts in the future.

But buying & selling a NEAR account is never an easy thing. So we started the Nice Near Name project with a mission to make NEAR account trading easy and secure.

What it does

Basically, we turn a NEAR account into an NFT upon minting. Thinking of the NFT as an envelope that has the NEAR account inside it. So that the NEAR account can be traded as an NFT in any NFT marketplace. In the end, the owner can take back the NEAR account by burning the NFT.

For NEAR account owner:

  1. Turn a NEAR account into a Nice Near Name NFT (aka mint)
  2. Listing NFT for sale or taking an offer to the NFT

For visitors:

  1. Browse the marketplace to find NEAR accounts they are interested
  2. Buy or make an offer to Nice Near Name NFT(s)

Others

  1. With a Nice Near Name NFT, the owner can take back the attached NEAR account from the website.
  2. Based on the NFT contract, we can now track the NEAR account sales activities

sales info

accounts_for_sale

take_back_near_account

how_it_work

How we built it

We write an NFT contract that can turn a NEAR account into an NFT and vice versa.

We also build a marketplace for people to find and buy NEAR account NFTs with advanced search and filters.

We use The Graph to index contract events. The data then be used to display NFT/Account activities and provide search results for the marketplace.

For the frontend, we use React and TailwindCSS for the UI part and Graphql to fetch data and near-api-js to interact with NFT and marketplace NEAR contracts.

Challenges we ran into

  1. Security: Minting a Nice Near Name NFT involves both on-chain and off-chain activities. For example, only when a NEAR account is 1) with no access keys and 2) deployed the correct lock contract can be minted as an NFT. But we can not verify those two pieces of information on-chain. So we run a web server to check those requirements before minting out an NFT. We simulated a lot of possible attacks and then came up with solutions to prevent those from happening.
  2. Cost: Each NFT account should pay some $NEAR for storage usage of contract code and state. We have considered some mechanism to releasing the liquidity of these $NEAR, but couldn't find a good way to do it yet.

Accomplishments that we're proud of

  • Great UX to turn a NEAR account into an NFT.
  • A marketplace designed specifically for NEAR account trading with search and filters.
  • Integration with Paras, you can list your near account NFT in Paras.
  • Use Pagoda Enhanced API and The Graph to do data aggregation and provide a great search experience.
  • Use IFTTT to auto-tweet NEAR account sale activities, check it here: https://twitter.com/nearaccountsbot

What we learned

  • How to build an NFT project and connect it with a marketplace NEAR contract
  • Learn to use graphql and typescript to build a fully typed data-fetching layer for the frontend project.
  • How to find user demands in the NEAR ecosystem and build it!
  • A great learning is that we constantly collect user feedback and update our website to make the `Mint a NEAR account into an NFT" idea to users even if it's their first time visiting the app.
  • How to use Shotcut to edit demo video :)

What's next for NICE NEAR NAME

  • Build an economic model which can help with project growth.
  • Integrate with the WIP Global Storage, to lower the barrier of minting an NFT by removing the contract/stage storage fee.
  • Do more rounds of user testing and release to the NEAR mainnet.

Built With

Share this project:

Updates