Published
Edited
Dec 23, 2019
3 stars
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
{
// Try changing the method field in this JSON request to some different values as defined in the JSON-RPC documentation.
let JSONrequest = '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":1}'

// Try changing this endpoint to an Infura node or another public facing client
let endpoint = 'http://127.0.0.1:8545' // if localhost isn't working, try '127.0.0.1:8545'

let requestPromise = new Promise((resolve, reject) => {
let req = new XMLHttpRequest();
req.addEventListener("load", function(){ resolve(JSON.parse(this.responseText)) });
req.open("POST", endpoint);
req.setRequestHeader('content-type', 'application/json');
req.send(JSONrequest)
})
return requestPromise
}
Insert cell
Insert cell
Insert cell
Insert cell
web3js = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'))
Insert cell
Insert cell
version = web3js.version
Insert cell
Insert cell
metamask = new Web3(web3.currentProvider)
Insert cell
Insert cell
Insert cell
ethers = require('ethers')
Insert cell
Insert cell
ethersProvider = new ethers.providers.Web3Provider(new web3.providers.HttpProvider('http://localhost:8545'))
Insert cell
Insert cell
Insert cell
accounts = web3js.eth.accounts
Insert cell
MMaccount = await ethereum.enable()
Insert cell
Insert cell
Insert cell
balance = web3js.eth.getBalance(accounts[0])
Insert cell
Insert cell
MMbalance = new Promise((resolve, reject) => {
metamask.eth.getBalance(MMaccount, (err, result) => { resolve(result) })
})
Insert cell
Insert cell
balance.toNumber()
Insert cell
Insert cell
web3js.fromWei(balance, 'ether').toNumber()
Insert cell
web3js.fromWei(MMbalance, 'ether').toNumber()
Insert cell
Insert cell
Insert cell
txHash = web3js.eth.sendTransaction({from: accounts[0], to:accounts[1], value: web3js.toWei('1', 'ether')})
Insert cell
receipt = new Promise((resolve, reject) => {
web3js.eth.getTransaction(txHash, (err, result) => { resolve(result) })
})

Insert cell
web3js.fromWei(web3js.eth.getBalance(accounts[0]).toNumber(), 'ether')
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more