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:
- Turn a NEAR account into a Nice Near Name NFT (aka mint)
- Listing NFT for sale or taking an offer to the NFT
For visitors:
- Browse the marketplace to find NEAR accounts they are interested
- Buy or make an offer to Nice Near Name NFT(s)
Others
- With a Nice Near Name NFT, the owner can take back the attached NEAR account from the website.
- Based on the NFT contract, we can now track the NEAR account sales activities




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
- 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.
- Cost: Each
NFT accountshould 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 APIandThe Graphto do data aggregation and provide a great search experience. - Use
IFTTTto 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
graphqland 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
- javascript
- near-api-js
- near-sdk
- pagoda-enhanced-api
- rust
- thegraph





Log in or sign up for Devpost to join the conversation.