raiden-network / light-client Goto Github PK
View Code? Open in Web Editor NEWThe Raiden Light Client
Home Page: https://raiden.network/
License: MIT License
The Raiden Light Client
Home Page: https://raiden.network/
License: MIT License
As Kelsos I want to be able to see the link to the Wallet code in the light-client readme so that I can use it as a basis for my JavaScript dApp.
As Chris I want to be able to select the token network from a list of available token networks so that I can join my preferred token network.
Whole onboarding included:
As Chris, I want to be able to see the information about Token, Target and Amount before submitting my transaction so that I don't make mistakes.
As Kelsos I want to learn how to use the API so that I am able to interact with Raiden in my JavaScript dApp.
3
As Chris, I want to get feedback on the channel open progress so that I don't close or reload the window because it takes so long.
3
As Chris, I want to be able to enter the token amount, which I deposit in my channel so that I can open a channel with a specific amount.
This is a spec for the Raiden Light Client. It should essentially end up being a
JS library that will work via the browser.
The following are the hard requirements for a light client for the Raiden Network:
Be required to be online for as little time as possible. Essentially a light
client Raiden node should be online only for the duration of a transfer. For the
mediated transfer case that is until a Secret message is exchanged.
Send payments (has to be online to do so)
Receive payments (has to be online to do so)
A Raiden light client node will not be able to mediate transfers.
Transfers from a light node should be working exactly like transfers from a normal
full node. In the first implementation which would be just a quick PoC they should
use chromium's UDP sockets and as
such send packets like a normal raiden node would. In the future this should be
replaced by something like Web RTC.
The big difference with a full node is that, as already defined in the requirements section, the light node can go offline again as soon as its transfers are complete.
We should introduce also in the full node, the concept of node capabilities. For
example a full node can and should participate in mediated transfers so should be
part of the healthcheck task but a light client should not.
The discovery of a transfer recipient should be delegated to a running raiden
full node.
As Chris, I want to be able to join a token network transferred as a parameter to the wallet so that I am connected to a token network.
As Chris I want to be able to enter the payment target address so that I can make payments to a specific client.
As Chris, I want to see the new balance after sending my payment so that I can see how much tokens are left in my payment channel.
As Chris, I want to open a channel so that I can see that the interaction with the Raiden contracts is working
8
Deploy wallet to github pages at the end of the CI continuously, that it can be directly tested.
0
As Chris I want to know what I am signing with MetaMask so that I am able to trust the wallet.
Closely related to #50
2
Copy CircleCI from WebUI and adjust
3
As Kelsos I want to be able to contact the developers so that I am able to get questions answered.
We want to ensure the dApp is always accessible in a decetralized way.
As Kelsos, I want to find and read the Readme so that I know how to use the light client sdk.
As a state machine framework, Redux is getting used. The goal of this issue is the description of the basic architecture, 3rd party tools being used and an example data flow.
5
Adding a contributing.md
file which follows good practices.
2
As Chris, I want to store my state locally, so that I am able to send a valid balance proof with the next available nonce.
As Chris, I want to see, that a channel has been closed by my counterparty so that I know, that I am not able to use it for further payments.
As Chris, I want to deposit (top up) a channel with getting parameters so that I can continue using a channel if it runs out of funds.
As Chris, I want to be able to get a preconfigured hub, so that I am able to connect to this hub.
As Chris I want to get informed that I should not close the browser while opening a channel so that I can successfully create a channel
As Chris, I want to be able to close the channel so that I can get my deposit back.
5
Automate release flow through github as a follow up to #14
As Chris, I want to have basic instructions how to fuel my account with ETH so that I can pay gas to interact with the Raiden contracts.
As Chris, I want to settle the channel so that I can receive my funds.
5
Finalize test setup with a target test coverage of 80% and having a test pyramid
5
Retro action item: Measure coverage once the CI has been set up
3
As Chris, I want to do a payment with paramenters and confirm the payment so that the payment cannot be done automatically.
As Chris, I want to be able to join a token network transferred as a parameter so that I can connect to an already existing token network.
Send a processed message without processing for a refund transfer
As a follow up to #31 describe the flow in Redux
Implement CodeCov Workflow and enforce coverage once the repo is open source
As Chris, I want to top up a channel with an amount, which have been transferred as parameters so that I can make new payments.
As Kelsos I want to be able to see the link to the Raiden documentation in the light-client readme so that I can learn how to use Raiden.
As Chris, I want to be able to set a payment target, which is transferred as a parameter so that I know who I am going to pay.
In today's retro, we have decided, that it makes sense to start with a professional visual design now. We want to implement and develop the design in iterations.
This issue is reserved to design, what has been implemented in iteration 2
8
As Chris, I want to be able to enter a payment amount so that I can transfer a specific amount to another node.
As Chris, I want to be able to open a channel with an amount of deposit transferred as a parameter so that I am able to make payments.
As Kelsos I want to download the SDK from NPM so that I can include in my JavaScript project.
raiden-ts
)2
The basic development environment is set up.
5
As Chris, I want to top up my default channel with a default amount so that I can make new payments.
As Kelsos I want to find everything I need to start developing in a beautiful readme
5
Readme has been made nice #34 (see issues for example readmes)
Still needs a review from comms
2
As Chris, I want to be able to set a payment amount, which is transferred as a parameter, so that I know which amount I am going to pay.
As Kelsos I want to learn how to connect the light client to a Raiden test network so that I am able to test my JavaScript dApp.
2
We discussed the light client protocol in our kick-off workshop. The outcome should be documented.
3
Besides test coverage, other metrics might be beneficial to measure the maintainability of the sdk and the wallet
Example:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.