mirror of https://github.com/status-im/swarms.git
Add draft for separated ULC swarm (#254)
* Started with draft of idea for ULC * Minor changes to set create PR * Add number of PR * Better seccess metrics
This commit is contained in:
parent
336b162ef1
commit
f3f7a86cb7
|
@ -0,0 +1,86 @@
|
||||||
|
---
|
||||||
|
id: 254-ultra-light-client
|
||||||
|
title: Integration of ULC in Status
|
||||||
|
status: Draft
|
||||||
|
created: 2018-05-02
|
||||||
|
category: research
|
||||||
|
contributors:
|
||||||
|
- themue
|
||||||
|
- jeka
|
||||||
|
- b00ris
|
||||||
|
- zsfelfoldi (external)
|
||||||
|
exit-criteria: yes
|
||||||
|
success-metrics: yes
|
||||||
|
clear-roles: no
|
||||||
|
future-iterations: no
|
||||||
|
---
|
||||||
|
|
||||||
|
## Preamble
|
||||||
|
|
||||||
|
Idea: 254-ultra-light-client
|
||||||
|
Title: Integration of ULC in Status
|
||||||
|
Status: Draft
|
||||||
|
Created: 2018-05-02
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
Current LES is not yet optimized for ultra-light devices like mobile phones. So in the first step introduce
|
||||||
|
the ULC addressing this kind of clients.
|
||||||
|
|
||||||
|
## Swarm Participants
|
||||||
|
|
||||||
|
- Lead Contributor: @themue
|
||||||
|
- Testing & Evaluation: TBD
|
||||||
|
- Contributor: @jeka
|
||||||
|
- Contributor: @b00ris
|
||||||
|
- PM: @zsfelfoldi (external)
|
||||||
|
- UX (if relevant):
|
||||||
|
|
||||||
|
## Product Overview
|
||||||
|
|
||||||
|
Current LES is not optimized for usage on mobile phones. So Status is using Infura with all its assets and
|
||||||
|
drawbacks. ULC is addressing ultra-light clients and distribution without dependency to central providers.
|
||||||
|
Instead a network of trusted LES nodes acts as counterpart for the protocol.
|
||||||
|
|
||||||
|
So Status is supporting the development and testing of ULC to accelerate integration into `go-ethereum` as
|
||||||
|
well as into Status itself.
|
||||||
|
|
||||||
|
### Product Description
|
||||||
|
|
||||||
|
- Research of ULC design
|
||||||
|
- Definition and implementation of ULC
|
||||||
|
- Integrate ULC in `statusd` and the `lib`
|
||||||
|
- Documentation
|
||||||
|
|
||||||
|
### Minimum Viable Product
|
||||||
|
|
||||||
|
Goal Date: 2018-06-30
|
||||||
|
|
||||||
|
Description:
|
||||||
|
|
||||||
|
- [ ] New Ultra Light Client mode is added to patched LES
|
||||||
|
- [ ] Integrate ULC with `status-go` with Status nodes as trusted nodes
|
||||||
|
- [ ] Collect metrics (CPU, mem, disk, network I/O) when starting with a branch new install and after 1h of inactivity
|
||||||
|
- [ ] Keep battery and network consumption at least as low as today with Infura
|
||||||
|
|
||||||
|
### Iteration 1
|
||||||
|
|
||||||
|
Goal Date: TBD
|
||||||
|
|
||||||
|
Description:
|
||||||
|
|
||||||
|
- [ ] Support integration of ULC into `go-ethereum`
|
||||||
|
- [ ] Documentation
|
||||||
|
|
||||||
|
## Artifacts
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
## Success Metrics
|
||||||
|
|
||||||
|
LES of `go-ethereum` is extended to use ULC with a similar or better use of bandwidth and CPU as Infura.
|
||||||
|
|
||||||
|
## Copyright
|
||||||
|
|
||||||
|
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
|
||||||
|
|
Loading…
Reference in New Issue