This project is a prototype demonstrating how Bitcoin can be tokenized on Ethereum, using the RenProject protocol. It is designed to run in modern browsers with MetaMask connected to the Kovan testnet.
The core idea is to allow users to bring their Bitcoin onto the Ethereum network as ERC-20 compatible tokens. This can enable Bitcoin holders to interact with the Ethereum DeFi ecosystem without relinquishing custody of their assets. The app uses RenProject, a protocol that enables cross-chain asset transfers. Ren provides two primary SDKs:
-
GatewayJS: A higher-level library with built-in frontend overlays and expanded caching. It's ideal for developers who want quick integration with minimal setup.
-
RenJS: A lower-level, lightweight library designed for more control and minimal overhead, perfect for developers building custom or embedded wallet solutions.
This prototype uses RenJS to keep the implementation lightweight and flexible.
- Tokenize BTC to Ethereum on the Kovan Testnet
- Lightweight and developer-friendly Codebase using RenJS
- Easy browser interaction using the MetaMask extension
The Application will need npm and Node.js installed on the machine.
git clone [this project]
cd ./renwallet
npm install --save web3
npm install --save @renproject/ren
npm installThe Application will run at
localhost:3000
cd ./[project_root]
npm run startTo stop the Application use
Ctrl+Cin Terminal
npm start: Runs the app in the development mode. Open http://localhost:3000 to view it in the browser. The page will reload if you make edits. You will also see any lint errors in the console.npm test: Launches the test runner in the interactive watch mode. See the section about running tests for more information.npm run build: Builds the app for production to thebuildfolder. It correctly bundles React in production mode and optimizes the build for the best performance. The build is minified and the filenames include the hashes. See the section about deployment for more information.

