Coder Social home page Coder Social logo

efichot / dapp-boilerplate Goto Github PK

View Code? Open in Web Editor NEW
7.0 3.0 2.0 23.98 MB

:cyclone: Decentralize application boilerplate with React Redux and Firebase integration.

JavaScript 97.87% HTML 0.26% CSS 1.87% C 0.01%
react redux saga firebase ethereum-dapp truffle webassembly uport

dapp-boilerplate's Introduction

Boilerplate for Dapp

Synapsis

Full speed Ahead for internet 3.0 and Blockchain Interopability.

This project was bootstrapped with Create React App.

The Dapp-Boilerplate boilerplate integrates uPort and Firebase. In other words cloud resources, application permissions and other identity related features can be administrered from the uPort Self-Sovereign Identity Systems and deployed within Google's Firebase (Infrastructure as a Service).

git clone https://github.com/efichot/Dapp-Boilerplate

yarn

yarn start // development
yarn build // production

yarn build:wasm // compile C or C++ into WebAssembly
yarn build:asm // compile C or C++ into asm.js

logo logo logo logo logo DRIZZLE

Distributed Autonomous Management System The Boilerplate aims to solve the challenge of starting a dapp or a app where you need to manage, organize and facilitate a large distributed network of people.

This project will grow over time As of right now, the primary objective is to refine the user interface

How it's Built

The Frontend is primary built in React, Redux and Redux Saga. The Backend is built primary with Firebase.

  1. Atomic Design Philosophy
  2. Component/Container Separation
  3. Functional State Management

The functions forder is the folder who contains all the firebase functions so you can write modern javascript for serveless architecture. You will need to deploy the functions first if you want modify the way firebase add new user (authentication) and require only the UID (Unique Identifier) of uport app. See how to deploy cloud function on firebase website, (with the firebase CLI) you will need to change the /functions/index.js with your firebase private key in order to change the authentication. Again see the firebase docs for the firebase admin SDK and his private key for modifying your authentication server to produce custom signed tokens when a user succesfully signs in. Your app receives this token and uses it to authenticate with firebase.

By the way uport is available for Android and IOS.

You have also a /contracts folder for keeping your solidity smart contracts, and a truffle.js for communicate with testrpc, ganache or whatever. You can use truffle develop in the console right now, see the truffle doc.

How It Works

  1. Login With uPort
  2. Attest Firebase UID
  3. Request Application Permissions

Tools

WebAssembly The WebAssembly NPM Package (https://www.npmjs.com/package/webassembly) is a minimal toolkit for WebAssembly. It's used by the script build:wasm to build .c or .cpp into .wasm in the same folder. You can use this .wasm file with the wasm-loader for webpack, see how it's work (https://github.com/ballercat/wasm-loader)

    npm install -g webassembly

ps: You can use this Website: for testing and compiling fast c into wasm (https://mbebenita.github.io/WasmExplorer/) for not being cumbersome. Emscripten Emscripten is use to compile .c or .cpp in .asm a javascript readable format but way slower than .asm.js For installation see this: https://kripken.github.io/emscripten-site/docs/getting_started/downloads.html

dapp-boilerplate's People

Contributors

efichot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dapp-boilerplate's Issues

feedback

This looks pretty cool ! Why not use IPFS instead of firebase for a serverless architecture?

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.