All Projects → input-output-hk → project-icarus-chrome

input-output-hk / project-icarus-chrome

Licence: Apache-2.0 license
Icarus, a reference implementation for a lightweight wallet developed by the IOHK Engineering Team.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to project-icarus-chrome

cardanocli-js
Wrapping the cardano-cli inside JavaScript
Stars: ✭ 173 (+440.63%)
Mutual labels:  wallet, cardano
cashuwallet
Cashu is a cryptocurrency wallet for smartphones. Be your own bank. Accept payments or spend crypto directly from your phone.
Stars: ✭ 35 (+9.38%)
Mutual labels:  wallet, cardano
tokenomia
Tokenomia is built for the Cardashift ICO, it aims to simplify the use of Native Tokens and Smart Contracts above the Cardano Platform. Cardashift is a community-driven startup platform that raises funds, builds and accelerates startups that solve social and environmental problems.
Stars: ✭ 84 (+162.5%)
Mutual labels:  wallet, cardano
cardano-py
Python3 lib and cli for operating a Cardano Passive Node and using the API's. (PRE-ALPHA)
Stars: ✭ 17 (-46.87%)
Mutual labels:  wallet, cardano
cardano wallet sdk
Targeting Flutter apps, the Cardano Wallet SDK is a high-level Dart library for managing cryptocurrency accounts & executing transactions on the blockchain.
Stars: ✭ 31 (-3.12%)
Mutual labels:  wallet, cardano
willwallet
以太坊钱包
Stars: ✭ 17 (-46.87%)
Mutual labels:  wallet
master
This is an Open-Source, community-driven project for the creation of a documentation hub for Raspberry Pi and ARM Cardano Stake Pool Operators.
Stars: ✭ 18 (-43.75%)
Mutual labels:  cardano
BitGen
Bitcoin wallet generator and scrapper
Stars: ✭ 87 (+171.88%)
Mutual labels:  wallet
CryptoLuKa
LuKa's Official Repository
Stars: ✭ 37 (+15.63%)
Mutual labels:  wallet
kukai
Web wallet for the Tezos blockchain
Stars: ✭ 157 (+390.63%)
Mutual labels:  wallet
ethereum-hdwallet
CLI and Node.js library for Ethereum HD Wallet derivations from mnemonic
Stars: ✭ 44 (+37.5%)
Mutual labels:  wallet
duco-webservices
🕸️ Source of Duino-Coin static Web Wallet & Web Miner
Stars: ✭ 47 (+46.88%)
Mutual labels:  wallet
CryptoCurrency
Page to keep track of value & profits of a portfolio of cryptocurrency (based on Coinmarketcap, Bitfinex and Binance)
Stars: ✭ 27 (-15.62%)
Mutual labels:  cardano
wallets
💰Multi-crypto wallets/keys generator for cold storage with built-in encryption.
Stars: ✭ 53 (+65.63%)
Mutual labels:  wallet
navpi
NavCoin Stake Box
Stars: ✭ 34 (+6.25%)
Mutual labels:  wallet
chrome-extension-wallet
Harmony Chrome Extension Wallet
Stars: ✭ 54 (+68.75%)
Mutual labels:  wallet
bitcoinz-wallet
BitcoinZ Wallet - nice graphical user interface BTCZ wallet
Stars: ✭ 19 (-40.62%)
Mutual labels:  wallet
ethereum-light-wallet-android
react native based light ethreum wallet
Stars: ✭ 24 (-25%)
Mutual labels:  wallet
bitshares-mobile-app
This is the mobile app for bitshares blockchain
Stars: ✭ 44 (+37.5%)
Mutual labels:  wallet
pallas
Rust-native building blocks for the Cardano blockchain ecosystem
Stars: ✭ 66 (+106.25%)
Mutual labels:  cardano

Project Icarus - Cardano ADA wallet

CircleCI

Icarus, a reference implementation for a lightweight wallet developed by the IOHK Engineering Team. This code base can be used as a point of reference to enable developers to create their own secure light and mobile wallets for Cardano. Icarus is a fully open-source code base that will be the first step in a range of open source initiatives to provide developers with a suite of tools to integrate with Cardano.

Installation

# clone the repository with the submodule js-cardano-wasm
$ git clone --recursive [email protected]:input-output-hk/icarus-poc.git
$ git submodule update --init --recursive

Prerequisites

  • node v8.9.4 (if you are using nvm, just execute: $ nvm use)

  • Install rust tools as mentioned in js-cardano-wasm

Install dependencies

$ npm run build-js-cardano-wasm 
$ npm install

Development

  • Run script
# build dll dependencies
$ npm run build-dll
# build files to './dev'
# start webpack development server
$ npm run dev
# or
$ npm run start -- --env "development"
  • If you're developing Inject page, please allow https://localhost:3000 connections. (Because injectpage injected GitHub (https) pages, so webpack server procotol must be https.)

  • Load unpacked extensions

    Extensions that you download from the Chrome Web Store are packaged up as .crx files, which is great for distribution, but not so great for development. Recognizing this, Chrome gives you a quick way of loading up your working directory for testing. Let's do that now.

    Visit chrome://extensions in your browser (or open up the Chrome menu by clicking the icon to the far right of the Omnibox: The menu's icon is three horizontal bars. and select Extensions under the More Tools menu to get to the same place).

    Ensure that the Developer mode checkbox in the top right-hand corner is checked.

    Click Load unpacked extension… to pop up a file-selection dialog.

    Navigate to the directory in which your extension files live (./dev folder), and select it.

Dev Features

Build

Extension can be built for both the Cardano testnet:

  • Testnet
# build files to './build'
$ npm run build -- --env "testnet" 

Compress

This tasks allow to generate compressed bundles (zip and crx).

Note: The same --env flag should be used as for the build.

Zip

Zip files can be uploaded to the Chrome Web Store

# compress build folder to {manifest.name}.zip and crx
$ npm run build -- --env "${network}"
$ npm run compress -- --env "${network}" --zip-only --app-id "APP_ID" --codebase "https://www.sample.com/dw/yoroi-extension.crx"

CRX

Crx are compressed and signed chrome extension bundles

# compress build folder to {manifest.name}.zip and crx
$ npm run build -- --env "${network}"
$ npm run compress -- --env "${network}" --app-id "APP_ID" --codebase "https://www.sample.com/dw/yoroi-extension.crx" --key ./production-key.pem

Options

If you want to build crx file (auto update), please provide options, and add update.xml file url in [manifest.json](https://developer.chrome.com/extensions/autoupdate#update_url manifest.json).

  • --app-id: your extension id (can be get it when you first release extension)
  • --key: your private key path (default: './key.pem')
    you can use npm run compress-keygen to generate private key ./key.pem
  • --codebase: your crx file url

See autoupdate guide for more information.

Test

# flow
$ npm run flow
# lint
$ npm run eslint
# features
$ npm run test-e2e

Update Cardano crypto library

In order to update it run the following commands:

# Update js-cardano-wasm
cd js-cardano-wasm;
git checkout master;
git pull origin master;
cd ..;

# Commit the update
git add .
git commit -S -m "${youCommitMessage}"
git push ...

# Re-install the module
$ npm run build-js-cardano-wasm 
$ npm install

# At this point you can go back to Development steps. 

LICENSE

We used as template for this repository: React Chrome Extension Boilerplate

Licensed under the Apache License, Version 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].