Request Network project update (February 2nd, 2018)-Tech development, RCN partnership

Laura Girod
Request
Published in
7 min readFeb 2, 2018

Request Network is committed to develop a financial platform for payment requests with the ambition to become a standard for invoices, accounting, audit, and payments in crypto and fiat assets. Request allows people and businesses to get paid in any cryptocurrency in a cost-effective, simple, and secure way.

Learn more about us on our website and on our blog.

Technical development

After the release of Request Colossus in December, we kept on improving the testnet version in light of the mainnet launch planned for Q1 2018. Here are the improvements we made in the last two weeks.

App.request.network improvements

We’ve refactored the code for compatibility with Requestnetwork.js library updates. We’ve improved the UX, including clear snackbar notifications and loaders for every user action. We’ve also added mined transactions detection and notifications around those (previously there was a notification triggered only when a transaction was broadcasted). On the request screen, all data is now monitored in the background and updated in real-time. Error handling has been improved as well.

Request protocol

Two main features have been added on the library and the currency contracts:

  • Payment verification before appearance on the blockchain

We can now detect ‘broadcasted’ request transactions from the txpool that are not yet mined. The payment is detected before it appears on the blockchain. It allows users to see if a payment is in progress even if it is not confirmed. One of the important benefits of this is that you won’t have to wait for your transaction to be mined while paying online or at a restaurant.

To put it simply: now it takes only a few seconds to detect that a payment has been made. The recent improvements allow the Request Protocol to detect transactions before they appear on the blockchain: similar to Etherscan when it states that transactions are ‘pending’.

  • Signed requests

We use the Elliptic Curve Digital Signature Algorithm (ECDSA) to cryptographically sign requests. This allows anyone (the payee) to sign a request offline and then give it to someone else (the payer) without broadcasting it. The payer will then be able to create, accept, and pay this request in one blockchain transaction.
This is especially useful for the use case of ‘online payments’. A merchant will be able to send requests instantly for free from their website and the customers will just need to fulfill and broadcast it.

To put it simply: now the payee can invoice without paying any fee. It thus is faster for the payee to send the invoice. Additionally, the user experience has been improved.

Smart Contracts

Major changes:

  • Request Id is now Core_Contract_Adress + Request_Number to retrieve information in an easier way
  • Extensions are temporarily deactivated in currency contracts to prepare for the mainnet audit.

New functionalities:

  • A request can now be created by the payer. An example use case is an employer paying a salary via Request.
  • The payer can broadcast signed Requests.
  • Request artifacts generator.

JS Library

Major changes:

  • Artifacts repository: allows artifacts versioning, and makes the port to other languages easier

New functionalities:

  • getRequestByTransactionHash: If the transaction is broadcasted, but not mined, the function provides information such as: function called, parameters given, and warnings (e.g: transaction may fail, gas price low, gas amount too low,…)
  • Create request by payer
  • Broadcast signed request by payer
  • Sign request by payer
  • Format improvement for returns: {request, transaction, errors, warnings}

What’s next?

We’re on track of our roadmap for Q1 2018. To have an idea of what is going on, here’s our work in progress:

  • Internal audits are ongoing and we’re preparing for the external audit of the core and currency contracts.
  • Hardware ledger wallet support: Currently, only a connection via a Metamask wallet is available on the app. A connection with a ledger wallet will soon be possible as well.
  • Kyber DEX currency conversion for fees: we’re working closely with the Kyber team in Singapore to integrate their conversion system into the Request platform.
  • Online payment flow with ECDSA Requests.
  • Multi-recipients, separation of identity, and wallet architecture: in this sense, the management of several recipients will be very useful for the ‘taxes’ use case. A request paid would have several recipients (e.g: in case of an invoice, it would be the payee and the tax administration for the VAT payment).
  • Hash Requests architecture for scaling.
  • On the app, we’re also adding an onboarding flow and improving the refund process.

Announcing a partnership with RCN

We’re pleased to announce a collaboration with RCN, a peer-to-peer global credit network based on co-signed smart contracts. The aim of RCN is to bring transparency and reliability in credit and lending, enable connections between lenders and borrowers anywhere in the world, and neutralize the lender’s credit risk.

As Request Network is a protocol acting as a decentralized ledger for invoices, it provides the source for invoice financing while RCN matches the lenders’ and the borrowers’ needs by the intermediary of a ‘co-signer’. A collaboration with RCN covers one of our use cases, the financing of invoices through factoring, and is a good way to accelerate growth for both RCN and Request.

How will it work?

Use case - funding option for Alice

1. Bob creates a Request Invoice asking Alice for a payment

2. Alice detects the Request Invoice and generates a credit request through RCN in order to fulfill her payment request.

3. Charlie lends money to Alice through the RCN protocol. Alice has formally taken on debt.

4. Charlie fulfills the payment request in Request.Network.

5. Bob gets paid by Charlie on behalf of Alice.

6. Charlie will enforce debt collection from Alice through the RCN network.

More information on RCN: https://ripiocredit.network/

Request Hub

The ecosystem around Request is taking shape. We’re very excited about its development and will communicate regularly about it. Here are some news:

Libraries Port ongoing

Soon after we released the JS library, several people started working on the port of different libraries. Thanks to the members of the Request Hub, several languages are already in progress:

PYTHON
Repository: https://github.com/NickChapman/RequestNetwork.py
Contact: Nick on requesthub Slack

.NET
Repository: https://github.com/rsadams/Request.Net
Contact: rsadams on requesthub Slack

JAVA
Repository: https://github.com/JoniKukko/RequestNetwork.java
Contact: Eric on requesthub Slack

C++
Contact: adamski on requesthub Slack

GO LANG
Repository: https://github.com/Fontinalis/goreq
Contact: Barnabas Pataki on requesthub Slack

SCALA
Repository: https://github.com/marius-carp/request-network
Contact: Frunza on requesthub Slack

Business development

A BD mindmap is under construction. It lists the actors which potentially are interested in Request — from points of sale, non-profits to accounting and audit firms and more.

Contact: Brice on requesthub Slack

Request Fund

Following our last project update two weeks ago, announcing the provision of a 30 million-dollar fund to help financing projects and teams willing to develop apps on top of Request, we have received applications from 32 teams so far.

Currently assessing the projects, we’ll soon communicate which of the projects we’re willing to kickstart and when. We’re looking forward to launching the Request Fund and working with the teams. It is a great way to accelerate the development and interest around Request while the Foundation team is focusing on the Request protocol.

New to Request?

If you have just discovered Request, we wish you a very warm welcome! In a few words, Request is a decentralized network that allows anyone to request a payment. It removes the need for trusted third-parties and provides a cheaper and more secure payment solution that works with both crypto and fiat currencies. Also, Request provides a way to associate invoice data to every transaction. All of the information is stored in an authentic ledger and consequently allows for a large range of applications.

To get a clear overview of the possibilities around Request, check out the Tech mind map. We want to grow externally and incentivize work and interest around Request as much as possible. To do so, we’ve recently announced a fund with the goal to help financing projects and teams that are willing to build on top of the Request protocol.

More information on the applications in the following articles:

This beginner’s guide is also explaining the most relevant information about Request.

About our platform: We launched the testnet version of our product in Q4 2017 and will release the mainnet version in Q1 2018 (here is the roadmap, the whitepaper, and the GitHub repository).

If you have any question, come chat with us or ask our Reddit community that will happily answer all of your questions. We officially communicate every two weeks via project updates. The next one will be published on February 16th. Be sure not to miss it by subscribing to our blog!

Greetings from the team!

--

--