HathorNetwork / hathor-wallet-service-old

MIT License
4 stars 4 forks source link

[Epic] Wallet Service v1 #5

Open obiyankenobi opened 4 years ago

obiyankenobi commented 4 years ago

Introduction

The hathor-wallet-service will be used as a backend for all official Hathor's wallets.

This service is highly inspired by the Bitcore Wallet Service.

Motivation

The idea behind this service is to have a fully indexed Hathor blockchain in real-time on a centralized database so we don't have to seek the full-node to calculate his balances and to query his utxos it every time a user wants to use his wallet, thereby making the app a lot faster for large wallets and reducing the load on the full nodes.

Acceptance criteria

Aside from faster load times, the apps that are using this service as their backends should have all features working exactly as they were working when connected directly on the fullnode.

We should have control over exactly what percentage of our user base should be using this service and these percentages should be configured for each platform individually

Q3 Week 7: Aug 16th - Aug 20th

Q3 Week 6: Aug 9th - Aug 13th

In Review (from previous weeks)

Q3 Week 5: Aug 2nd - Aug 6th

Unplanned issues

Q3 Week 4: Jul 26th - Jul 30th

Q3 Week 3: Jul 19th - Jul 23rd

Unplanned issues:

Q3 Week 2: Jul 12th - Jul 16th

Unplanned issues:

Q3 Week 1: Jul 5th - Jul 9th

Q2 Week 13: Jun 28th-Jul 02nd

Q2 Week 12: Jun 21th-Jun 25th

Q2 Week 11: Jun 14th-Jun 18th

Q2 Week 10: Jun 7th-Jun 11th

Q2 Week 9: May 31st-Jun 4th

Design Issues

Pending issues to fulfill the design:

Pending tasks breakdown

Summary

Total: 336h / 42 days / 8.4 weeks, i.e., end of Q1/2021.

andreabadesso commented 3 years ago

Here is the estimated work for the breakdown tasks:

handle timelock balance tx-proposal code (to send txs) handle authority outputs tx-proposal code (token actions) - [estimated work: 40h] handle voided txs - [estimated work: 12h] database transaction/rollback support and error handling - This will come "free" from the ORM if we decide to use SequelizeJS database ORM (like sequelize) - [estimated work: 24h] optimize database (add indexes and use binary columns) - [estimated work: 16h] open API docs - [estimated work: 8h] wallet sync strategy (websocket?) - [estimated work: 40h] [Needs Design] wallet authentication - [estimated work includ. design: 40h] test with large wallets (20k+ txs) - [estimated work: 6h]

andreabadesso commented 3 years ago

Q3 Planning

Q2 spill-overs

Total: 112h (~3 weeks, includ. current)

Q3

Q3 - Data Service