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

@bywise/provider

v1.1.1

Published

Web3 provider of Bywise

Downloads

20

Readme

Bywise Web3 Provider

Contributors Welcome!

Hello, this is a relatively simple library that connects websites with the Bywise blockchain. If you have some basic working JS/TS knowledge, please head over to the open bugs/enhancements and help clear the backlog. Thanks in advance! 🤠

Please don't forget to join our discord community.


Installation

npm install @bywise/provider

I also recommend installing @bywise/web3.

npm install @bywise/web3

Usage

Require in javascript as

const BywiseProvider = require('@bywise/provider');

For typescript, use

import BywiseProvider from '@bywise/provider';

Operations

New instance

const chain = 'mainnet' // select your chain (default: mainnet)
const provider = new BywiseProvider(chain);

Connect provider

const userInfo = await provider.connect();

if (userInfo) { 
  const userAddress = provider.address;
  const connectedChain = provider.chains;

  // Provider connected successfully
} else {
  // User canceled the connection
}

Get User Blockchain Information


const infoBlockchainUser = await provider.web3.wallets.getWalletInfo(provider.address, chain);

console.log('infoBlockchainUser', infoBlockchainUser)
if (infoBlockchainUser) {
  const balance = infoBlockchainUser.balance // BWS Balance
  const name = infoBlockchainUser.name // can be null
  const url = infoBlockchainUser.url // can be null
  const bio = infoBlockchainUser.bio // can be null
  const photo = infoBlockchainUser.photo // can be null
} else {
  // Failed get info
}

Make simple transaction

import { TxType } from '@bywise/web3';

const sendAddress = 'BWS000000000000000000000000000000000000000000000';
const sendBWSAmount = '0';

const result = await provider.send({
  to: [sendAddress],
  amount: [sendBWSAmount],
  type: TxType.TX_NONE,
  data: {}
});
if (result) {
  const tx = result.tx; // full transaction
  const fullOutput = result.output; // full result output
  
  const contractReturn = fullOutput.output;
  console.log('contractReturn', contractReturn)
} else {
  // canceled transaction
}

Read contract

const contractAddress = 'BWS000000000000000000000000000000000000000000000';
const contractMethodName = 'someMethod';
const parameters = []; // string list

const fullOutput = await provider.web3.contracts.readContract(chain, contractAddress, contractMethodName, parameters);
if(fullOutput.error) {
    console.log('error', fullOutput.error)
} else {
    const contractReturnValue = fullOutput.output;
    console.log('contractReturnValue', contractReturnValue)
}

Write contract

import { TxType } from '@bywise/web3';

const contractAddress = 'BWS000000000000000000000000000000000000000000000';
const sendBWSToContract = '0';

const result = await provider.send({
  to: [contractAddress],
  amount: [sendBWSToContract],
  type: TxType.TX_CONTRACT_EXE,
  data: [
    {
      method: 'someMethod',
      inputs: ['arg1' , 'ar2'],
    },
  ]
});
if (result) {
  const tx = result.tx; // full transaction
  const fullOutput = result.output; // full result output

  const contractReturn = fullOutput.output;
  console.log('contractReturn', contractReturn)
} else {
  // canceled transaction
}