There are more than 800 million firearms in the United States. 22% of firearm trading is done illegally without any background check. Blockchain technology, ERC721 Non-fungible Token (NFT) in particular, provides a trust mechanism where second hand gun sellers and buyers can trust each other's identity information and transfer guns together with unique tokens. NFT provides a greater traceability for the government without depriving people's second amendment right.

What it does:

The user sends a request to the government agency with photos of identity documents. Once the government validates the information, it creates an account for the user on the blockchain. Gun manufacturers mint NFTs that records the name and the type of firearms. When a user buys or sells a gun physically, he or she also gets a NFT transfered in or out. NFT serves as a disincentive for people to trade guns illegally because the last person who possesses the token will be held liable if the gun is found in other's possession.

How we built it:

We started from making sure that our smart contract could create NFT, transfer tokens among different accounts. Then we used web3.js to serve as a bridge between the smart contract and the front end. Two members in our team built the web based application that can interact with the deployed smart contract and perform the transfering function.

Challenges we ran into:

The smart contract couldn't transfer tokens initially. We also found great difficulties in using web3 to connect the smart contract and the front end.

Accomplishments that we're proud of:

We integrated the smart contract, web3, and front end into a Dapp that can perform the desired functionality.

What we learned:

Dapp development is very challenging and it involves a lot of trials and errors.

What's next for BulletChain:

Making the smart contract more gas efficient. Give more flexibility to the web3 and frond, a better UI, and a mobile application.

Share this project: