https://github.com/robin-thomas/erasure-sdk
https://github.com/robin-thomas/erasure-sdk
Last synced: over 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/robin-thomas/erasure-sdk
- Owner: robin-thomas
- License: mit
- Created: 2019-11-13T01:25:43.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-08-31T13:07:30.000Z (almost 2 years ago)
- Last Synced: 2025-03-07T01:35:35.593Z (over 1 year ago)
- Language: JavaScript
- Homepage: https://erasure-docs.robinthomas2591.now.sh/
- Size: 2.28 MB
- Stars: 4
- Watchers: 2
- Forks: 4
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Erasure SDK

[](https://opensource.org/licenses/MIT)
## [Winner of CoinList + Erasure hackathon!!](https://medium.com/coinlist/announcing-the-winners-of-the-erasure-coinlist-hackathon-84462559b26c)
# Table of Contents
1. [Introduction](#introduction)
2. [Features](#features)
3. [Tests](#tests)
# Introduction
**Erasure SDK** is an SDK for Erasure writen in JS.
SDK documentation can be found here: https://erasure-docs.robinthomas2591.now.sh/
SDK can be installed by,
```sh
$ npm install @robinthomas/erasure-sdk
```
# Features
- Supports Erasure version - v1.3.0
- Supports Erasure Feeds, Posts, Escrows and Agreements
- Keyvault for client side encryption and transaction signing (using 3Box)
- Datastore for storing feed, post and other details (using 3Box)
- Ability to pass a web3Provider (optional)
- Simplifies SDK for users using classes & objects.
- ErasureFeed
- add a post while creating a new feed (optional)
- create a new post
- retrieve all the posts in a feed
- reveal all the posts in a feed
- check if the posts have been revealed or not
- ErasurePost
- offer to sell a post
- find the number of sell offers for a post
- offer to buy a post
- find the number of buy offers for a post
- reveal a post
- get the total number of times a post has been sold
- ErasureEscrow
- deposit stake by seller (if the payment is already deposited by buyer, encrypted sym key will be added to escrow)
- deposit payment into the escrow by the buyer
- finalize the escrow (and add the encrypted sym key to the escrow)
- cancel an escrow
- Escrow Agreement
- stake some amount into an agreement (called by operator)
- reward the staker (called by counterparty)
- punish, i.e. burn some stake (called by counterparty)
- release some stake (called by counterparty)
- request some withdraw (called by staker to start the countdown to withdraw some stake)
- withdraw some stake to a recipient (called by staker)
- check the agreement status
- Given a address/proofhash, detect if its an ErasureFeed, Post, Agreement or Escrow and return the correct object
# Tests
Tests are written using _mocha_ and are executed with the help of _truffle_. Test coverage is using _nyc_.
These tests are run in a test _ganache_ network, which deploys all the Erasure smart contracts v1.2.0 and then runs through all the contract tests.
```sh
npm run test
npm run coverage
```