You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nitowa 5d2305b4e6 fix readRaw disconnection issue 2 yıl önce
src fix readRaw disconnection issue 2 yıl önce
test hopefully fix websockets closing from over-use 2 yıl önce
.drone.yml remove test step from done 2 yıl önce
.gitignore fix doc generation 2 yıl önce
.npmignore remove test step from done 2 yıl önce
LICENSE.md rebase to npm-packages, add README and LICENSE 2 yıl önce
README.md Update readme to reflect on how badly tested this is 2 yıl önce
package-lock.json fix readRaw disconnection issue 2 yıl önce
package.json fix readRaw disconnection issue 2 yıl önce
tsconfig.json update testnet node address because it moved 3 yıl önce

README.md

Overview

Build Status Current Version Weekly Downloads License Type

xrpio is a library that allows you to write and read arbitrary data in the ripple blockchain.

How to install

npm i xrpio

Caution

This library is in an early stage of development and breaking changes may occur spontaneously and without regard of semantic versioning until the v1.0.0 release.

Operation on the main-net is untested and should not be used in production!


Quickstart

import {RippleAPI} from 'ripple-lib'
import {treeRead, treeWrite} from 'xrpio'

const api = new RippleAPI({ server: "..." }) 
await api.connect()

const dataRootHash = await treeWrite(
    api, 
    "Arbitrary string data 123", 
    { 
        address: "Sender address", 
        secret: "Sender private key"
    }, 
    "Receiver address"
)

const data = await treeRead(api, [dataRootHash])
console.log(data) //"Arbitrary string data 123"

A simple ready-to-run example for the testnet

import { treeRead, treeWrite, Wallet } from 'xrpio'
import { RippleAPI } from 'ripple-lib'
import fetch from 'node-fetch'

export const makeTestnetWallet = () : Promise<Wallet> => fetch('https://faucet.altnet.rippletest.net/accounts', {
    method: 'POST',
    headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
    },
}).then((raw:any) => {
    return raw.json().then(content => content.account)
});

(async()=>{
    const api = new RippleAPI({server: 'wss://s.altnet.rippletest.net:51233'})
    await api.connect()
    const fromWallet = await makeTestnetWallet()
    const toWallet = await makeTestnetWallet()
    await new Promise((res, rej) => setTimeout(res, 10000)) //it takes a moment for the wallets to become active

    const rootHash = await treeWrite(api, "test123", fromWallet, toWallet.address)
    const data = await treeRead(api, [rootHash])
    console.log(data)    
})()

Full documentation