Home

Awesome

<div style="display:flex;flex-direction:column;"> <a href="https://oisy.com/"> <img src="./src/frontend/static/images/meta-share-v2.jpg" alt="OISY Wallet logo" role="presentation"/> </a> <br/> <br/>

Internet Computer portal GitHub Backend Tests Workflow Status GitHub Frontend Tests Workflow Status

</div>

What is the OISY wallet

OISY is a new browser-based, network-custodial and multi-chain wallet powered by Internet Computer's chain fusion technology.

Features

The OISY wallet provides a convenient user experience known from custodial wallets but without their strong trust assumptions. In contrast, OISY provides trust assumptions based on network custody, and comparable to self-custody. Different from self-custody wallets though, OISY requires no browser extensions or additional mobile app, a standard off-the-shelf web browser is sufficient. In conclusion, OISY provides an attractive user experience with a low entry barrier, yet requires no strong trust assumptions.

Building on ICP, OISY achieves a unique set of features:

ICP building blocks used

What are the unique ICP technical building blocks enabling the creation of OISY?

Submit your dApp

To file a request to have your dApp listed in the dApps explorer of OISY Wallet, please submit this dApp Submission Request.

Status

Please note that this is a beta version of OISY Wallet which is still undergoing final testing before its official release. The platform, its software and all content found on it are provided on an “as is” and “as available” basis. OISY Wallet does not give any warranties, whether express or implied, as to the suitability or usability of the application, its software or any of its content.

Build and run yourself

Prerequisites

Start the local replica

Open a new terminal window in the project directory, and run the following command to start the local replica. The replica will not start unless dfx.json exists in the current directory.

dfx start --background

When you're done with development, or you're switching to a different dfx project, running

dfx stop

from the project directory will stop the local replica.

Run OISY locally

Make sure you switch back to the project root directory.

First, install the frontend dependencies by running

npm ci

To build and deploy the project locally, first create a .env.development file by copying the .env.example file. Once you've correctly set the api keys for all the different services that OISY needs, then run:

npm run deploy

It should output something like the following

...
Deployed canisters.
URLs:
  Frontend canister via browser
    frontend: http://127.0.0.1:4943/?canisterId=br5f7-7uaaa-aaaaa-qaaca-cai
  Backend canister via Candid interface:
    backend: http://127.0.0.1:4943/?canisterId=bd3sg-teaaa-aaaaa-qaaba-cai&id=bkyz2-fmaaa-aaaaa-qaaaq-cai
    internet_identity: http://127.0.0.1:4943/?canisterId=bd3sg-teaaa-aaaaa-qaaba-cai&id=be2us-64aaa-aaaaa-qaabq-cai

Click on the frontend URL to access the OISY Wallet that is running locally.

Local development

See HACKING

Backend

The backend is written in Rust and you can find it under the backend folder. It uses the tECDSA API provided by IC. To find out more about tECDSA, you can read the Eurocrypt 2022 paper.

If you want to locally deploy the backend only, you use the following command

./scripts/deploy.backend.sh

Frontend

The frontend is written entirely in Svelte. You can serve the frontend in development mode like you normally develop a svelte app using the command

npm run dev

Dependencies

Iconly Pro

Some Iconly icons are used in the project, not included. You must obtain a license separately.
The license for this project is bought and owned by the DFINITY Foundation, please see terms and conditions here.