Questions tagged [web3js]
Javascript API and library for Ethereum To develop applications on Ethereum, you can use the web3 object provided by the web3.js library. Under the hood it communicates to a local node through RPC calls. web3.js works with any Ethereum node, which exposes an RPC layer. https://github.com/ethereum/wiki/wiki/JavaScript-API
6,166
questions
195
votes
2
answers
59k
views
What is the difference between a transaction and a call?
What is the difference between a transaction and a call? In some interfaces, I can interact with contracts via calls or via transactions. What is the difference between the two, and can contracts also ...
81
votes
13
answers
64k
views
How to get contract internal transactions
I'd like to get the contract internal transactions like:
https://etherscan.io/address/0xd654bdd32fc99471455e86c2e7f7d7b6437e9179#internaltx
I'm using web3 API. Is there any way to do it? Where do ...
60
votes
6
answers
123k
views
error: replacement transaction underpriced
Im trying to send a raw transaction using web3 to ropsten testnet and Im getting this error:
replacement transaction underpriced
where sometimes my tx works and sometimes I get this error.
my tx ...
49
votes
6
answers
37k
views
What is the difference between web3.js and ethers.js?
Can anyone write a short comparison between the most important features of the two libraries?
49
votes
1
answer
33k
views
What are Solidity events and how they are related to topics and logs?
I know that indexed arguments index the values for those arguments so that filtering will be faster.
But what are topics? And what are they used for?
I know that signature of an event is a topic. ...
46
votes
6
answers
43k
views
How do I parse the transaction receipt log with web3.js?
The event parser in web3 provides a nice parsing functionality for events, and I use it for logging all events to a file, but it's very difficult to use for looking at individual events for a ...
45
votes
6
answers
27k
views
How to detect if on mainnet or testnet?
Is it possible to figure out whether the network is mainnet or testnet (Ropsten) from web3.js? Or through MetaMask?
43
votes
3
answers
21k
views
What are the limitations to estimateGas and when would its estimate be considerably wrong?
web3.eth.estimateGas and JSON-RPC estimateGas can be used to see how much gas should be specified for a transaction, before crafting the transaction.
Since it is an estimate, are there any ...
42
votes
5
answers
28k
views
How to detect if an address is a contract?
I'm interested in knowing whether any particular address is a contract address or a standard address. There have been similar questions on the topic, but I'm not looking to detect whether an address ...
39
votes
5
answers
40k
views
Returning a struct and reading via Web3
I am storing data in my contract using a mapping of structs.
For examples sake, say I'm storing employee info (name/address/salary), mapped by their employee ID.
Via a web front-end, I'd like to be ...
38
votes
6
answers
8k
views
How can a DApp detect a fork or chain reorganization using web3.js or additional libraries?
Take an example of a voting DApp. A user clicks on a vote button, then behind the scenes a transaction gets mined on the blockchain, and finally the DApp tells the user their vote has been recorded.
...
38
votes
3
answers
45k
views
How can I view event logs for an ethereum contract?
After reading the this post, it seems like I should be able to access the logs of events that have been called on an Ethereum contract. The section I am interested in is Option 3 which is using event ...
37
votes
8
answers
77k
views
Insufficient funds for gas * price + value
Sending Address has over 1 Eth in current Balance.
Using the Geth console, I can send many transactions of any amount less than .033
eth.sendTransaction({to:'...
36
votes
6
answers
44k
views
web3: How do I get past events of myContract.myEvent?
I use the following JS code to get notified of Solidity events and it works well for incoming new events:
myContract.myEvent().watch((error, result) => {
if (error)
console.log('Error in ...
36
votes
5
answers
33k
views
How to access the event log by knowing the contract address (web3)?
How can I access a log stored in one of the tx of the contract via web3?
Code example:
event newtest(string indexed name, uint indexed idlevel,string indexed multib, string objmulti, uint objnm);
...
36
votes
11
answers
77k
views
How to get private key from account address and password?
What I have
1. I am able to create new account with personal.newAccount() method of web3 api.
2. I am working on my private blockchain.
3. geth node start with following command:-
geth --datadir ~/...
36
votes
6
answers
48k
views
How to find the date of an Ethereum transaction while parsing it with web3?
Is there a way to know the date of a transaction by looking at the raw blockchain data?
I know that Etherscan and other blockchain explorers have dates for the transactions, but I couldn't find a way ...
36
votes
9
answers
97k
views
How to get transactions by account using web3 js?
I'm sure this question was asked before, but I did not find any result that helped my problem.
How can I get the transactions (in and out) for a given account? I use nodejs and web3?
With this line ...
35
votes
7
answers
50k
views
web3.eth.contract is not a function when making contract
Whenever I try and make a contract, I get:
web3.eth.contract is not a function
I'm using this code:
const path = require('path');
const fs = require('fs');
const solc = require('solc');
...
35
votes
5
answers
48k
views
Is there a way to find an account's current transaction nonce?
I need to know my transaction nonce because I am doing fancy stuff with contract addresses (which are the keccak hash of my address + my transaction nonce). Is there a way to find this through the ...
35
votes
4
answers
40k
views
Web3.js Get Contract Abi Knowing Only Contract Address
is there a way with web3.js to get a contract abi json, knowing only the contract address?
I cannot find anymore a link in wich they explain how to do this, in this post the guy replied telling that ...
34
votes
6
answers
27k
views
ecrecover from Geth and web3.eth.sign
I have tried to use ecrecover() to verify the signature of a message.
I have looked at lots of references here and elsewhere, like:
https://lab-blog.ey.com/2016/12/19/ecrecover/
How does one ...
34
votes
8
answers
48k
views
Smart Contract Error: Returned values aren't valid, did it run Out of Gas?
Deployed a contract using Remix IDE to Rinkeby testnet.
Etherscan contract address and code is here.
contract SimpleCounter {
int counter;
constructor() public {
counter = 0;
}
...
32
votes
5
answers
56k
views
How to call my contract's function using sendTransaction
This may be a very basic question, I don't know why but I am unable to find correct solution to how can I call my contract's method using sendTransaction. I have a transfer(address, uint256) function ...
30
votes
7
answers
47k
views
How can I detect change in account in Metamask?
When a user changes to a different account in metamask, is there a way to detect it asynchronously in code?
I currently use
this.web3.eth.getAccounts((err, accs) => {
this.account = accs[0]...
30
votes
4
answers
36k
views
How to get return values when a non view function is called?
I am writing below a simple contract which stores all results of questionnaires for each ID.
contract answer{
mapping(address => mapping(string => bool)) voters;
struct qList {
uint ...
30
votes
2
answers
11k
views
web3.js execution - server vs browser
I'm a little bit far from web development, so I have one misunderstanding.
As far as a know, node.js code should be run at the server-side, and web3.js is designed to work at the server side (not sure)...
30
votes
1
answer
42k
views
How to convert string to bytes32 in web3js?
I have a contract with a public variable that's bytes32. If I enter the value 20160528 then it auto converts to bytes32. Is there anyway to convert it back from the nodejs terminal? I've been ...
30
votes
3
answers
23k
views
What is msg.data?
Is msg.data equal to {from: addr1, data:something}?
How to handle the data 'something'?
when execution this code:
web3.eth.sendTransaction({from: ..., to: addressOfE, data: something});
how to ...
30
votes
4
answers
11k
views
How to programmatically detect and accept ETH and ERC20 deposits
I'm looking to replicate the functionality provided by cryptocurrency exchanges such as Kraken and Poloniex when it comes to depositing ETH and tokens. Namely:
Users can generate and send funds to ...
29
votes
2
answers
28k
views
Get a peer list for my geth node
How can I use Geth (or any other client) to get a list of my peer nodes on the Ethereum network. I see there's a function to get the number of nodes using the web3 api, but I need a list of node IDs ...
29
votes
6
answers
65k
views
How to send ERC20 token using Web3 API?
I created some custom token in Ropsten testnet using this guide:
https://steemit.com/ethereum/@maxnachamkin/how-to-create-your-own-ethereum-token-in-an-hour-erc20-verified
I can send it to other ...
29
votes
3
answers
9k
views
Can a contract listen to events of another contract?
I read that to listen to events you need to use web3.js. Are there other ways of doing it? Can a contract even somehow listen to events of another contract? Thanks!
28
votes
7
answers
47k
views
Deploy contract from NodeJS using web3
I'm trying to create and deploy a smart contract through NodeJS using web3, but it is not working as I get a "web3.eth.contract.new is not a function". Here is my code:
var web3 = require('ethereum....
28
votes
2
answers
3k
views
Is it a good practice to log an event every time I throw in Solidity?
In Solidity (0.3.2) I am aware that there is no way to throw specific exceptions. (Everything is an invalid JUMP error.) It seems beneficial to have a way to log specific errors. Does it make sense to ...
28
votes
1
answer
18k
views
What is the difference between web3.eth.sign, web3.eth.accounts.sign, web3.eth.personal.sign functions?
Which function should be used to sign message locally? Which function is the most secure?
27
votes
2
answers
10k
views
Why aren't Solidity sha3 hashes not matching what other sha3 libraries produce?
Solidity has a function named sha3 and I tested it with an empty string input. It is not matching what other sha3 libraries produce. I see contracts written by others using the same sha3 function ...
25
votes
6
answers
49k
views
Invalid JSON RPC response: undefined, when running web3.eth.accounts (Node)
I'm very new Ethereum and trying to follow this tutorial:
https://medium.com/@mvmurthy/full-stack-hello-world-voting-ethereum-dapp-tutorial-part-1-40d2d0d807c2
But when I run:
web3.eth.accounts
I ...
25
votes
7
answers
34k
views
Encoding/Decoding contract ABI data
How to encode and decode ABI data?
Can someone show me an example with web3js library?
24
votes
13
answers
24k
views
TX doesn't have the correct nonce - Metamask
I'm trying to call the leafPicked() function in my contract from web3 which launches Metamask as intended. After pressing accept the transaction shows as failed along with the error message pictured ...
24
votes
3
answers
17k
views
What does the Web3 "BigNumber not a base 16 number Error" mean
Is there a known problem with parsing events containing strings in Truffle/Web3?
I'm using truffle with the following simple contract
contract Board
{
string foo;
event Shout();
event ...
24
votes
1
answer
8k
views
What are *C*, *E* and *S* properties in message call return object?
(JS)
var contract = web3.eth.contract(abiDefinition).at(address);
contract.test(value, gotResult);
function gotResult(error, result) {
if(!error) {
console.log(...
23
votes
5
answers
63k
views
How to convert BigNumber to Number in Truffle framework?
I have written an ERC20 token contract and deployed it in test network using truffle framework. When I check the token balance for an account using web3 it was giving the result in BigNumber when I ...
23
votes
4
answers
35k
views
Unlocking accounts and making transactions in web3.js
This question is related to this one and this one. It also has a partial answer here and here.
In the third link the account is being unlocked for a period of time using web3.js:
web3.personal....
22
votes
6
answers
43k
views
Decode input data on transaction
I have an ABI and the input value of the transaction and want to know what function has been called on a contract and with what arguments (one or multiple of different types), preferably using geth, ...
22
votes
2
answers
5k
views
What are effective techniques to encrypt/decrypt data stored in a smart contract?
Rather than sending and storing plain text in a smart contract, the use case objective is to encrypt first and then subsequently access the data and decrypt at the point of use.
What is the most ...
22
votes
2
answers
5k
views
How to read a private variable from a contract?
Given a contract, how can I find out the current value of one of its variables (as a dev, not from the context of another contract), if it's not public?
21
votes
4
answers
39k
views
How to properly create a raw transaction and sign it using web3 in browser
I want to create and sign a transaction in browser using web3. In order to create a raw transaction, I think I have to do something like this (hopefully you can fill the gaps of my knowledge)
var pk =...
21
votes
4
answers
13k
views
Does Web3.js have the functionality to create new accounts and unlock an account for a period of time for a series of transactions?
I want to create new accounts through my Dapp web interface and unlock a specific account so that transactions can be processed. I didn't see it in the web3.js documentation so wonder if that's on the ...
21
votes
2
answers
3k
views
What are best practices for serving a DApp over HTTPS, connecting to an Ethereum node using JSON RPC / web3.js, which by default uses HTTP?
Summary: we're serving an Ethereum DApp from a webserver through HTTPS. The DApp connects to an Ethereum node through JSON RPC using web3.js, which uses HTTP (not HTTPS). How to deal with this in a ...