Skip to content

RequestNetwork/requestNetwork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


CircleCI Commit Activity

Request is a decentralized network built on top of Ethereum, which allows anyone, anywhere to request a payment. A full description of the protocol may be found in our whitepaper.

This repository contains all the Request Network developer tools written in TypeScript.

Join the Request Discord to get in touch with us.

Published Packages

Package Version Description
@requestnetwork/advanced-logic npm Extensions to the protocol
@requestnetwork/request-client.js npm Library to use Request nodes as servers
@requestnetwork/data-access npm Indexing an batching of transactions
@requestnetwork/data-format npm Standards for data stored on Request, like invoices format
@requestnetwork/epk-cipher npm Encrypt /Decrypt requests using Ethereum private keys
@requestnetwork/epk-signature npm Sign requests using Ethereum private keys
@requestnetwork/ethereum-storage npm Storage of Request data on Ethereum and IPFS, with custom indexing
@requestnetwork/epk-decryption npm Decrypt encrypted requests using Ethereum private keys
@requestnetwork/lit-protocol-cipher npm Encrypt / Decrypt requests using Lit Protocol
@requestnetwork/payment-detection npm Client-side payment detection, to compute the balance.
@requestnetwork/payment-processor npm Pay a request using a web3 wallet
@requestnetwork/request-logic npm The Request business logic: properties and actions of requests
@requestnetwork/request-node npm Web server that allows easy access to Request system
@requestnetwork/transaction-manager npm Creates transactions to be sent to Data Access, managing encryption
@requestnetwork/types npm Typescript types shared across @requestnetwork packages
@requestnetwork/utils npm Collection of tools shared between the @requestnetwork packages
@requestnetwork/web3-signature npm Sign requests using web3 tools (like Metamask)
@requestnetwork/multi-format npm Serialize and deserialize object in the Request Network protocol
@requestnetwork/thegraph-data-access npm Storage of Request data on Ethereum and IPFS, indexed by TheGraph
@requestnetwork/smart-contracts npm Sources and artifacts of the smart contracts

Private Packages

Package Description
@requestnetwork/integration-test Integration test for the Request system
@requestnetwork/toolbox Toolbox for Request Network
@requestnetwork/usage-example Usage examples of Request Network

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Read the contributing guide

Install

Install all the packages in the monorepo.

yarn install

Build

Build all the packages in the monorepo.

yarn run build

Lint

Lint all the packages in the monorepo.

yarn run lint

Test

Test all the packages in the monorepo.

Some tests will require services to be running locally

docker compose up

Deploy Smart Contracts

yarn run deploy:contracts

Run request-node locally

cp ./packages/request-node/.env.example ./packages/request-node/.env
yarn run start:request-node

Run all tests

yarn run test

Test a specific package by replacing @requestnetwork/request-client.js with the desired package name:

yarn workspace @requestnetwork/request-client.js test

Clean Docker Volumes

docker compose down -v

License

MIT

V1 packages

This repository hosts the packages for the second version of Request. The v1 packages are deprecated and can be found on requestNetwork-v1-archive.