Giter Site home page Giter Site logo

flowchain's Introduction

Flowchain

Setup

  • Skapa backend/config/config.env och lägg in info:
PORT=5001
MINE_RATE=10000
DIFFICULTY=15

PUB_KEY=
SUB_KEY=
SECRET_KEY=

JWT_SECRET=
JWT_TTL=90d
JWT_COOKIE_TTL=90

MONGO_URI=
  • Terminal:
./backend $npm run i
./backend $npm run dev
./frontend $npm run i
./frontend $npm run dev

Tests

  • Terminal: ./backend $npm run test

Instruktioner för inlämning:

I denna sista inlämningsuppgift ska ni skapa en fullständig blockkedja för en egen kryptovaluta med transaktionshantering och validering av transaktionerna.

Ni ska använda er av en transaktionspool för att hantera transaktioner innan de placeras i ett block.

När ett block skapas för transaktionerna ska även en ”belöningstransaktion” skapas och spåras i transaktionspoolen. Transaktionerna måste valideras så att de följer de regler som vi gått igenom under lektionerna.

Nätverk

Det ska gå att starta upp flera noder med blockkedjan. Synkronisering av blockkedjan ska ske vid uppstart av en ny nod, vid addering av transaktioner samt när ett block skapas.

Teknologin för nätverkskommunikationska vara antingen Redis, Pubnu beller Websockets.

Blockkedjan, block samt transaktioner ska sparas ner i en mongodb databas. (Även om detta i princip inte är nödvändigt i en verklig blockkedja).

SäkerhetFör att kunna nyttja en blockkedja som konsument måste man vara registrerad och inloggad. Här ska ni använda Json Web Token(JWT) som teknologi för att validera att en användare är inloggad och tillhöra korrekt roll för att kunna skapa en ny transaktion och att kunna lista sina egna transaktioner samt block.

  • Användare ska lagras i ett mongodb dokument.

Klient

  • En klient ska utvecklas i antingen React med Vite eller en renodlad JavaScript applikation med HTML och CSS.

  • Klient applikationen ska kunna skapa nya transaktioner, lista transaktioner och lista block.

  • Dessutom ska det gå att skapa ett block med transaktioner, dvs ”mine” av block.

Godkänt krav (G) Allt ovanstående måste vara på plats för betyget G.

Välgodkänt(VG) För VG ska TDD användas för transaktionshanteringen.

Alla ”Best practices”som vi gått igenom under kursens gång ska användas.

Det vill säga Clean Code, SOC, MVC.

Dessutom ska servern vara säker mot olika typerav angrepp, till exempel NoSqlinjections, DDOS samt XSS-försök.

flowchain's People

Contributors

devmus avatar

Watchers

 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.