#BikeDeed
BikeDeed.sol
is an implementation of the latest draft of the ERC721 standard.
A mostly functional MVP can be found here: http://bikedeed.io (requires Chrome browser with Metamask plugin and a Mainnet Ethereum account with Ether).
Its inheriting contract ERC721Deed.sol
is based on the ERC721Token
from OpenZeppelin (https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/token/ERC721/ERC721Token.sol).
Warning: The standard is still open for discussion, so this project should be considered work in progress. Follow the discussion here: ethereum/EIPs#841
BikeDeed is a first attempt at building an Ethereum Dapp. BikeDeed leans heavily on the incredible efforts of:
- https://github.com/nastassiasachs/ERC721ExampleDeed
- https://github.com/Michael-Free/bikechain-ethwaterloo.
- OpenZeppelin.
Thank you!
- npm
- Truffle
- Git
- Ganache
- Chrome browser with Metamask plugin
- git clone https://github.com/kennethhoytwoodruff/BikeDeed.git
- npm install
- truffle compile
- npm run test (optional)
- start ganache on http://localhost:8545
- truffle migrate
- truffle exec scripts/populatebikedeed.js
- truffle exec scripts/displaybikes.js (optional)
- npm run build
- npm run server
- Make sure you have an Internet connection and go to http://localhost:8080 with your browser.
- ipfs init
- ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001
- ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'
- ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]'
- ipfs daemon
The tests and mocks of this repository are based on OpenZeppelin work. The directory structure is a result of the decision to install their contracts through EthPM instead of NPM. To perform unit tests type 'truffle exec tests/test.sh'.
- Add Approval functionality.
- Update Proof of Ownership of existing Bike deeds - experiment with complex IPFS objects.
- Refactor Javascript and Vue js.
- Redesign UI for Android/IPhone compatibility.
- Remove unused Node modules.
- Improve Registration workflow.
- Make BikeDeed use 'Composables' (ERC-998).