Socket
Book a DemoInstallSign in
Socket

@waves/repl

Package Overview
Dependencies
Maintainers
15
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@waves/repl

Javascript console to interact with waves blockchain. React component

latest
Source
npmnpm
Version
2.1.0
Version published
Weekly downloads
1
-50%
Maintainers
15
Weekly downloads
 
Created
Source

REPL

About

This repository contains javascript console for waves blockchain. It is built on top of jsconsole and have predefined functions to work with waves

Builtin functions

JS lib

Console uses waves-transactions library. Top level library functions are bound to console global scope. The difference is that in console, seed argument is equal to env.SEED by default. You need to pass null explicitly if you only want to create transaction and not to sign it E.x.:

Console
const signedTx = transfer({amount: 100, recipient: '3MyAGEBuZGDKZDzYn6sbh2noqk9uYHy4kjw', senderPublicKey: '8ViwGfvyyN1teUKV4Uvk2orK6XiYB4S4VuM2DqJ9Mj5b'}, null)

//returns tx with no proofs
{
  "type": 4,
  "version": 2,
  "fee": 100000,
  "senderPublicKey": "8ViwGfvyyN1teUKV4Uvk2orK6XiYB4S4VuM2DqJ9Mj5b",
  "timestamp": 1542640481876,
  "proofs": [],
  "id": "CveeKH16XQcshV5GZP2RXppg3snxcKqRsM4wE5gxcuzc",
  "chainId": "T",
  "amount": 100,
  "recipient": "3MyAGEBuZGDKZDzYn6sbh2noqk9uYHy4kjw"
}

Additional functions

Broadcast signed tx using node from global variable

const resp = await broadcast(signedTx)

Deploy current open contract using node from global variable

const resp = deploy()

Sign arbitrary transaction

const tx = transfer({amount: 100, recipient: '3MyAGEBuZGDKZDzYn6sbh2noqk9uYHy4kjw', senderPublicKey: '8ViwGfvyyN1teUKV4Uvk2orK6XiYB4S4VuM2DqJ9Mj5b'}, null)
const signedTx = signTx(tx)

Compile contract. Returns base64

const compiled = compile(contractText)

Get contract text by tab name. Used inside web-ide or vscode plugin

const contractText = file(tabName)

Get contract text from currently open tab. Used inside web-ide or vscode plugin

const contractText = contract()

Keys

address(seed = env.SEED) // Address from seed. 
keyPair(seed = env.SEED) // Keypair from seed
publicKey(seed = env.SEED) // Public key from seed
privateKey(seed = env.SEED) // Private key from seed

Global object env

env.SEED // Default seed
env.CHAIN_ID // Default network byte
env.API_BASE // Node url 
env.editors // Open editor tabs info

Usage

Dev server:

npm start

Starts dev server

React component

import * as React from 'react';
import {render} from 'react-dom';
import {Repl} from 'waves-repl';

class App extends React.Component {
    public consoleRef = React.createRef<Repl>();

    componentDidMount(){
        // Get console instance
        const console = this.consoleRef.current!;
        
        // Access to console api
        (global as any)['updateEnv'] = console.updateEnv;
        (global as any)['API'] = console.API;
        (global as any)['methods'] = console.methods;

        (global as any)['updateEnv']({
            SEED: 'abracadabra',
            API_BASE: 'https://testnodes.wavesnodes.com',
            CHAIN_ID: 'T',
            file: () => 'Placeholder file content'
        });

    }
    render(){
        return <Repl theme="dark" ref={this.consoleRef}/>
    }
}
render(<App/>, document.getElementById('root'));

FAQs

Package last updated on 07 Mar 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts