npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ilp-plugin-ethereum-asym-client

v1.2.0

Published

> Client to Ethereum Asym Server

Downloads

10

Readme

ILP Plugin Ethereum Asym Client

Client to Ethereum Asym Server

Description

This plugin is still under development. Don't use it for large amounts of money.

This is an implementation of an ILP integration with Ethereum. It uses simple unidirectional payment channels on Ethereum, by making use of the Machinomy library.

One party must run an Ethereum Asym Server instance, and then any number of clients can connect by using this Asym Client. Each client opens a payment channel to the server, and will immediately send a claim. This claim is to cover the transaction fee of the server opening a channel to the client. The end result is that the server and client have two payment channels, allowing either one to send and receive.

Interleger packets are passed over the websocket connection that the client and server share, and then are periodically settled by passing claims over the websocket connection. The ILP Connector will manage this logic for you.

Because this plugin allows you to connect to the Interledger, you can use your Ether to pay anyone else on the network, regardless of what system they choose to use.

Usage

You must have a local ethereum provider running in order to use this plugin. The Machinomy contracts must be deployed on the chain that you connect to.

new PluginEthereumAsymClient({
  account: '0x....', // Your ethereum account
  db: 'machinomy_db', // The db file created by machinomy
  provider: 'http://localhost:8545', // ethereum provider 
  minimumChannelAmount: '10000', // amount with which to fund the channel
})

Connecting to a local server

  • Follow the instructions from https://github.com/interledgerjs/ilp-plugin-ethereum-asym-server/blob/1db56bd25e20e1c93576da0bc499f7ab217101f8/README.md#usage
  • Sign up on https://infura.io and get your PROVIDER_URL from them
  • That service doesn't support private accounts, so for that, choose a SECRET
  • Using this PROVIDER_URL and SECRET, in a separate window from the one running the server, run the clients:
export PROVIDER_URL=https://ropsten.infura.io/QIQwjA7rQvIVca6Z4Tjl
export SECRET=ietah3IeZ0Zun4Se2daf3ieVia8Xeengahx8quo0
npm install
DEBUG=* node scripts/test-infura-local.js

Connecting to the testnet (easy way)

  • Sign up on https://infura.io and get your PROVIDER_URL from them
  • That service doesn't support private accounts, so for that, choose a SECRET
  • Using this PROVIDER_URL and SECRET, run:
export PROVIDER_URL=https://ropsten.infura.io/QIQwjA7rQvIVca6Z4Tjl
export SECRET=ietah3IeZ0Zun4Se2daf3ieVia8Xeengahx8quo0
npm install
DEBUG=* node scripts/test-infura.js

Connecting to the testnet (hard way)

  • Follow the instructions from https://gist.github.com/cryptogoth/10a98e8078cfd69f7ca892ddbdcf26bc
  • Make sure to run geth --testnet --rpc instead of just geth --testnet
  • In another terminal window, run:
npm install
DEBUG=* ADDRESS=0xb9458d0076cc76d4568ebaac482ace6f1b30becb node scripts/test-geth.js

Local test

Against ilp-plugin-ethereum-asym-server:

npm install
export PROVIDER_URL=https://ropsten.infura.io/T1S8a0bkyrGD7jxJBgeH
export SECRET="repair good hover betray buddy deal night wide mean round great tackle"
DEBUG=* node scripts/test-infura-local.js