A couple years ago I bought a nice race bike for myself. When I came back to the store while they were still drawing up the warranty - they were on the phone with the Toronto Police and giving them information and the serial number of my bike.

It turns out that any bike over a certain dollar value they sell - they automatically register it with the Toronto Police incase of theft, in which they can help return the bike to it's rightful owner.

The problem is that bike theft is such a 'petty' crime that police departments generally do not want to waste their resources going after crimes that are hard to prove. There have been many cases in Toronto when people see their stolen bikes for sale on craigslist or kijiji... with no help from the police force that often spends money to maintain a closed bike ownership database.

Also, what happens if a thief steals a bike in Toronto and tries to fence it in Waterloo? That siloed database is no use to honest people in Waterloo or the Waterloo police.

How do you ensure that the bike you're about to buy off of kijiji isn't stolen? What if you could check that yourself?

What it does

With the BikeChain - you are taken to a simple webapp where the end-user is required to enter in a serial number and the make of their bike.

Those two values are fed in to a smart contract that has a public registry that is searchable by other people for registered bikes, or reported bikes.

How I built it

Built using nano editor and using HTML, CSS, JS, and Solidity

Challenges I ran into

Web3 is extremely frustrating to toy around with.... to the point I gave up on integration of the smart contract into the app.

Much of the documentation for Web3 or Solidity is either outdated, deprecated, or non-existent.

Accomplishments that I'm proud of

I'm really starting to get a hang for solidity.

What I learned

You're going to have to read source code for comments on how this stuff works because the documentation is all deprecated...

What's next for BikeChain

  • Web3 integration in to the app
  • haveing the ui and the smart contracts talk to eachother
  • More comprehensive smart contracts
Share this project: