Zdrojové kódy k webové službě
Zatím je tento dokument takový plánem a rozvahou.
Cílem je napsat stránku k službě nákup bitcoinů přímo pomocí příkazu z banky. Následuje jednoduchý popis toho, jak to má fungovat
- uživatel se zaregistruje
- uživatel pošle příkaz z banky na vybraný účet
- příkaz je identifikován a spárovan s registrací
- je proveden nákup bitcoinů na burze dle množství prostředků v příkazu
- nakoupené bitcoiny jsou převedeny na zaregistrovanou adresu (a malá část na adresu provozovatele jako poplatek)
- body 2-5 lze libovolně opakovat, nejlépe jedenkrát měsíčně
- webová prezentace
- admin sekce
- CouchDB
- HTML
- JS
- nginx
- PHP na skripty na backendu
Většina funkcionality je realizována přímo pomocí JS+Ajax. Webová stránka by měla mít přímý přístup do databáze CouchDB.
Stejným způsobem bude nejspíš realizována admin sekce s tím rozdílem, že poběží v neveřejné síti.
Data mezi jednotlivými sekcemi budou replikována master-master
- Registrace uživatele
- sběr udajů nutných pro ověření uživatele AML a KYC
- přístup k statistickým údajům ať již veřejným, tak údajům dostupným konkrétnímu uživateli (například přehled o nákupech)
Tato část se bude rozvíjet později. Z počátku bude sloužit ke snadné ide ntifikaci příchozích plateb, dále na výpočet podílů z celkové transakce (pokud se nákupy budou sdružovat), a generování transakcí, případně určitá část bude realizovat výplatu za pomocí TREZOR-api.
- Co uživatel to dokument v CouchDB
- ID uživatele = SHA256(email+sůl)
(poznámka: z povahy CouchDB bude k přístupu k uživatelskému účtu znát jeho ID, tohoto benefitu se bude využívat tak, že uživatel vždy e-mailem dostane platný link na jeho profil, ten link si také může uložit do oblíbených položek
- zároveň to nijak nesnižuje zabezpečení, protože nalezení platného ID je možné pouze brutal-force)
- záznamy o obchodech budou samostatné dokumenty
- dokumenty představující e-mailovou frontu
- nový uživatel na úvodní stránce vyplní svůj e-mail a potvrdí záměr se registrovat
- na jeho e-mail dojde speciálně konstruovaný odkaz, obsahující jeho e-mail a vypočítané ID
- uživatel přejde na webovou stránku pomocí linku a tam dojde k založení nového dokumentu o uživateli. (validační funkce zkontroluje, že ID odpívá e-mailu)
- po založení dokumentu pokračuje registrace vyplněním základních údajů: jméno, příjmení, datum narození, rodné číslo, číslo OP nebo pasu, bydliště, PSČ, telefoní kontakt atd
- Na další stránce pokračuje registrace bankovními údaji: číslo účtu, číslo banky
- další stránka - upload fotografie občnaského průkazu nebo pasu
- další stránka - upload aktuálního výpisu z účtu nebo kopie (jako obrázek)
- poslední část ověření - vygenerování kódu a upload selfie obrázku uživatele držícího papírek s napsaným kódem (lze použít webkameru)
- dokončení - nastavení adresy nebo registrace Trezoru
- Vygenerování variabilního symbolu, závěrečné informace, odeslání e-mailu se smlouvou. Součástí e-mailu je link na který uživatel musí kliknout, aby smlouvu potvrdil
Změny v profilech nejsou možné. Je vždy potřeba projít novým kolečkem registrace. V tomto směru bude existovat mechanismus založení registrace na stejný e-mail (SHA256(email+revize+sůl)). Pokud uživatel ztratí přístup k adrese nebo registrovanému Trezoru, může pouze registraci deaktivovat
- existující uživatel na úvodní stránce vyplní svůk e-mail
- na jeho e-mail dojde speciálně konstruovaný odkaz obsahující jeho e-mail a vypočítané ID
- Uživatel přejde na webovou stránku pomocí linku a tam se zjistí, že registrace již existuje, a přejde se do zobrazení profilu
- Uživatel si v profilu může prohlédnout základní údaje, které zadal, dále pak historii nákupů a detaily nákupů