Giter VIP home page Giter VIP logo

faast-web's Introduction

Faast

Package version GitHub license Build Status Netlify Status

A decentralized cryptocurrency portfolio manager and exchange. https://faa.st

This repository contains code for both the Faast static website and single page application. Both are built using React.

Usage

Prerequisites

NPM is required, please see the website for installation instructions.

Running

This repository includes a prebuilt version of the application located in dist. To run it you'll need to install local-web-server:

npm install local-web-server

Then start the application with:

npm start

Then open https://localhost:8000. To resolve the SSL warning follow these steps to install the certificate.

Building

To build the application, you will need to install all of the modules:

npm install

Build the app:

npm run build

Files will be built to the dist folder. They can be served from your machine with:

npm start

Contributing

Development Server

The static website is built using react-static, which uses webpack under the hood. And the single page app is built directly with Webpack. For easier development, both can be run with webpack dev server. This allows live reloading on code changes. To start both dev servers behind a frontend proxy, run:

npm run dev

Once compiled, open http://localhost:8000 in your browser.

This concurrently runs the following:

HTTPS

To run the development server over https use HTTPS=true npm run dev

To resolve the SSL warning follow these steps.

or on Google Chrome Browser visit chrome://flags/#allow-insecure-localhost and set the property to Enabled.

Ngrok

For mobile development you can run the development server behind ngrok by running npm run ngrok in a separate terminal.

Branches

The OneFlow model will be followed as best as possible, with develop being the working branch and master pointing to the latest release tag.

Testing

Run:

npm run test

New Currency Checklist

  1. Implement the Wallet abstraction which specifies how to load balances, generate/sign transactions, etc. (see src/services/Wallet/lib/Wallet.ts)
    • If the currency is Bitcoin based and has bitcore support, you can implement BitcoreWallet instead. For an example refer to one of the existing implementations for Bitcoin/Litecoin.
  2. Update src/services/Wallet/lib/WalletSerializer.ts
  3. Update src/utilities/walletIcon.js
  4. Update src/app/components/ConfirmTransactionModal/index.jsx
  5. Update explorer URLs src/config/index.js
  6. If hardware wallet based:
    • Update src/app/actions/connectHardwareWallet.js
    • Add default derivation path src/config/walletTypes.js
    • If export flow differs from Bitcoin, add instruction override in src/app/components/HardwareWalletModal/ConnectionInstructions.jsx
  7. If not hardware wallet based:
    • Add new access tile src/app/components/Access
    • Create custom action to connect to the wallet src/app/actions/access.js

Security

Faast is a fully client side application. Faast is never in control of user funds, and private keys never leave the browser, they are only used to sign transactions. This is similar to myetherwallet.com

Faast never stores, transmits or otherwise knows of private keys. If you are interesting in auditing this, you can find the wallet handling logic located in src/services/Wallet.

License

This project is licensed under the MIT License - see the LICENSE file for details

faast-web's People

Contributors

dylanseago avatar dwolfgram avatar dankonino avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.