Git Product home page Git Product logo

ncw-demo-dockerized's Introduction


๐Ÿ“– Intro

This repository contains a full Web demo of the Fireblocks Non Custodial Wallet application.
The application has the following components in it:

Please make sure to checkout our NCW Developer docs for getting a better understanding how the NCW feature works and some additional relevant concepts that would be needed for the Setup phase.


๐Ÿ› ๏ธ Configuration & Setup

  1. Please make sure that you have gone through all the necessary steps for workspace provisioning and setup.
  2. Clone the repo to your machine: git clone https://github.com/fireblocks/ncw-demo-dockerized.git
  3. Move into the cloned directory: cd ncw-demo-dockerized

Note The example values are just mock values and do not represent real credentials


There are a few configuration files that should be configured before running the application.

  • /config/ncw_backend_demo/env.txt - configuration file for the backend application. An example file would like this:
NODE_ENV=production

PORT=3000
CMC_PRO_API_KEY=""

# Auth (Firebase demo example)
JWKS_URI=https://www.googleapis.com/service_accounts/v1/jwk/[email protected]
ISSUER=https://securetoken.google.com/fireblocks-sdk-demo
AUDIENCE=fireblocks-sdk-demo

# Fireblocks API 
FIREBLOCKS_API_SECRET="-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAA\...\nqt1ADkJPmFybZIhEY+ubRIOf5w==\n-----END PRIVATE KEY-----"
FIREBLOCKS_API_KEY_NCW_SIGNER="5f5d261f-973c-4f18-bc3e-b9b35dd214d6"
FIREBLOCKS_API_KEY_NCW_ADMIN="e1607032-ad47-46b1-b358-69ab1785e738"
FIREBLOCKS_API_BASE_URL="https://sandbox-api.fireblocks.io/"

# Fireblocks sandbox webhook public key
FIREBLOCKS_WEBHOOK_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw+fZuC+0vDYTf8fYnCN6\n71iHg98lPHBmafmqZqb+TUexn9sH6qNIBZ5SgYFxFK6dYXIuJ5uoORzihREvZVZP\n8DphdeKOMUrMr6b+Cchb2qS8qz8WS7xtyLU9GnBn6M5mWfjkjQr1jbilH15Zvcpz\nECC8aPUAy2EbHpnr10if2IHkIAWLYD+0khpCjpWtsfuX+LxqzlqQVW9xc6z7tshK\neCSEa6Oh8+ia7Zlu0b+2xmy2Arb6xGl+s+Rnof4lsq9tZS6f03huc+XVTmd6H2We\nWxFMfGyDCX2akEg2aAvx7231/6S0vBFGiX0C+3GbXlieHDplLGoODHUt5hxbPJnK\nIwIDAQAB\n-----END PUBLIC KEY-----"

# Database
DB_HOST=mysql
DB_PORT=3306
DB_USERNAME=ncw_user
DB_PASSWORD=ncw_user_password
DB_NAME=ncw_demo

  • /config/ncw_web_demo/env.txt - configuration file for the Frontend application. An example file would look like this:
VITE_AUTOMATE_INITIALIZATION=true

VITE_BACKEND_BASE_URL=<backend_server_base_url>
VITE_NCW_SDK_ENV=sandbox

  • /config/tunnel/env.txt - configuration file for the Localtunnel application. An example file would look like this:
TUNNEL_SUBDOMAIN=my_ncw_subdomain
TARGET_PORT=3000
TARGET_HOST=ncw_backend_demo

  • /config/mysql/env.txt - configuration file for the MySQL application. An example file would look like this:
MYSQL_ROOT_PASSWORD=test

๐Ÿ”ฅ Running the application

Run the following command: docker-compose up --build

The application should start the build process and output the webhook URL that should be configured in your Fireblocks console.
The webhook endpoint is exposed in the following route:

https://your_sub_domain.local.lt/api/webhook

Please make sure to configure it properly in the Fireblocks console.


The Frontend application would run on: http://localhost:5173 by default.
The Backend application would run on: http://localhost:3000 by default.

โš–๏ธ License

Fireblocks Web Full Stack demo application is available under MIT license

ncw-demo-dockerized's People

Contributors

amper-fb avatar slavasereb avatar

Watchers

 avatar  avatar

Forkers

amper-fb

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.