-
-
Main page
-
Mobile main page
-
Mobile main page > Token card
-
Main page > Play all
-
Main page > Blurred cat
-
Main page > Token card
-
Main page > Token card > Report
-
Main page > Token card > Buy
-
Creational page
-
Account page
-
Account page > Token card
-
Account page > Token card > Settings
-
Account page > Token card > Burn
Inspiration
While looking for idea for the new project with my teammate, we thought about what people need nowadays. Some time there was no answer, but once my teammate told me a joke, and we laughed a lot. At that moment, we realized that laughter is what people need!
What it does
Haher provides opportunity to share your laugh to the world. As it is a marketplace, you can earn money just laughing!
So, there are such options for users:
- Listen laugh records (by one or all together)
- Create, buy, sell and burn haha tokens
- Report if voice-spam or abusive content is found
There are well implemented moderation options:
- There are two types of blocking: locking to transferring or locking to listening (includes first one)
- Any user can send report and moderators lock tokens on contract level
- Banning users from minting if they publish abusive content
- Users can be "rated" by number of locked tokens
How we built it
There are three main parts of the dapp
Contract:
- Implements business logic
- Implements moderating logic
- Corresponds NEP-171
- Implements view valuable state opportunity
Server:
- Repeats contract state in postgresql
- Pins tokens to IPFS
- Serve site
Frontend:
- Gives possibility to interact with the dapp
- Provides funny design
Challenges we ran into
Contract
- Wallet challenge: to appear NFT to the wallet, it should be transferred by using "nft_transfer" method
- View methods contract challenge: some view methods are not optimized and can exceed gas in future (find alternative)
Server
- Running IPFS in docker challenge: IPFS appears deep strange thing for me even now (loss of memory appeared, stable versions aren't so stable as wanted, etc.)
Frontend
- Making routing on frontend by hands: as you are redirected to the wallet page and back, you should be user-friendly and appear with predictable page after back redirection
Accomplishments that we're proud of
- Implementing "contract indexer", through which you can get all needed information and repeat current contract state on server
- Getting Certificate of Excellence "NEAR Certified Developer Program Level 1"
What we learned
We've learned:
- How to write in Rust
- How to write smart contract for NEAR
- How to write Rest API in Go
- What is IPFS and how to use it
- Designing in transparent way
- How to run the project on VPS quickly
- How to set up Cloudflare and what is DNS records
What's next for Haher
- Launch in mainnet
- Add liked NFTs
- Add NFT collections (like playlists)
- Think about coloring NFT cards
- Add ability to record haha token as answer on token of another user
- Add laugh chains that will inform author how reaction on his laugh goes through the world
- Make soft design patterns to change background video on holidays
- Renew design and write mobile app on flutter
- Think about extending sounds from laugh to audiobooks or something else
Built With
- cloudflare
- golang
- ipfs
- javascript
- nearprotocol
- postgresql
- restapi
- rust

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