15

Answer is to update genesis.json to include eip150Block: { "config": { "chainId": 4777, "homesteadBlock": 0, "eip150Block": 0, "eip155Block": 0, "eip158Block": 0 }, "alloc" : {}, "difficulty" : "0x400", "extraData" : "", "gasLimit" : "0x7A1200", "parentHash" : "...


9

Archive mode means that all states of values in smart contracts as well as all balances of an account are stored. e.g. if the value of a string in a contract changes from XYZ in block 6000000 to ABC in 6000001, you can recall that string's state from block 6000000 with web3.eth.call, providing the blocknumber (as hex value with 0x prefix) as one of the ...


7

In solidity 0.4.22 the require and revert reason were added. As can be seen here, they are abi-encoded as if it were a call to a function "Error(string)". This blog post gives an example: an eth_call to a function function myFunction(uint256 input) public view returns (uint256) { require(input >= 5, "myFunction only accepts arguments which are ...


6

It looks like your code is written in ES6, but Geth does not support ES6 syntax. Geth uses otto as its JavaScript VM, which only supports ES5. You'll need to translate your code to ES5 first. Something like this (completely untested): function waitBlock(callback) { function innerWaitBlock() { var receipt = web3.eth.getTransactionReceipt(transferfunds....


6

If you see that, you aren't yet synchronized, not even close. You are just done with the block download phase and still running the state downloads. You can see this yourself via the seemingly endless Imported state entries [...] stream of logs. You'll need to wait that out too before your node comes truly online. More informations here: https://github.com/...


6

Using eth_Call to execute function: Example.test(0x0000000000000000000000000000000000000000000000000000000000000002) of Example contract we will receive following reply from geth node: ...


4

I've had the same issue. It appears that --nodiscover is just disabling your node from running node-discovering algorithm to find peers to connect, but it doesn't prevent others from discovering and attempting to connect to your node. If you'd like to limit the inbound connection attempts, you could specify --netrestrict. e.g. --netrestrict="127.0.0.1/8"


4

I view it as a byte-addressed byte-array. It is certainly byte-addressed, in that consecutive integer addresses refer to consecutive bytes in memory. It is true that you can only read a 32 byte word (mload reads 32 consecutive bytes), but reads are not word-aligned. mload(0) and mload(1) are both valid and have 31 bytes in common. so it is not really a ...


4

The "last 65 blocks" part is normal. When the "fast sync" mode was first introduced in eth/63, it was even more. I suggest you take a look at that PR for a general description on what geth's --syncmode=fast actually does. In short: not downloading all the blocks up to the head is done so that chain reorgs can be handled gracefully - especially since the ...


4

You must specify the parameters using --rpcapi="db,eth,net,web3,personal,web3" Source


4

In geth's code you'll find the snippet bellow https://github.com/ethereum/go-ethereum/blob/master/eth/handler.go // Start a timer to disconnect if the peer doesn't reply in time p.syncDrop = time.AfterFunc(syncChallengeTimeout, func() { p.Log().Warn("Checkpoint challenge timed out, dropping", "addr", p.RemoteAddr(), "type", p.Name()) ...


4

This is related to Geth's Freezer functionality, which "moves ancient chain segments out of the active database into immutable append-only flat files." The message you're seeing is informational, so it's nothing to worry about. Geth's freeze() function (in freezer.go), where that message is output, does the following: "freeze is a background thread that ...


3

First make sure you have the latest version, EAP 15, 173.2696.28, and you are using the latest version of Go, 1.9, as that's preferred for a better debugging experience due to the recent improvements in Go with regards to debugging. Then, go to Run | Edit Configurations | Go Applications | select the run configuration you want to edit | Run kind and change ...


3

The problem is that the setting of GOPATH is incorrect. You need to set the GOPATH in the IDE to: /home/robert/go and then open the project via Open Directory to /home/robert/go/src/github.com/ethereum/go-ethereum. See the Go Workspace for how to set up a Go workspace.


3

Truffle team recently released Portable Solidity Debugger that can be used to debug transactions on the main Ethereum network as they claim http://truffleframework.com/blog/announcing-full-portable-solidity-debugger we built it to work with any Ethereum client, so you could debug transactions against the main Ethereum network if you so desired truffle ...


3

You need to enable the debug api geth --rpc --rpcapi eth,web3,debug,admin,net ....


3

After being really annoyed for a long time I wrote a bash script to fetch the revert reason from geth by a tx hash: https://gist.github.com/gluk64/fdea559472d957f1138ed93bcbc6f78a


3

so, Ethereum has both a chain ID and network ID. Setting network ID only sets the latter, while passing in --rinkeby or --testnet correctly sets both


3

In Geth 1.9, there were many changes to how metrics a monitored. For example, the endpoint geth --monitor was completely removed. To get the metrics from your node: Run your geth node with the added flags --metrics --pprof Navigate to http://localhost:6060/debug/metrics Notice that if you are running geth on a remote system, you will need to adjust he IP ...


2

geth console it's plain javascript console. It's support javascript syntax, you're missing the quotes " ": admin.addpeer("enode://c32........9@[::]:30305") ^_______________________________^


2

Memory is a word-addressed byte array. Storage is a word-addressed word array. Geth simply chooses to display the memory in 32-byte segments, which is a bit of an odd choice, but when reading and writing to memory in the EVM each byte is independently accessable with mstore8


2

When you have 3 signers, at least 2 have to be online and have the eth.coinbase account unlocked to be able to continue sealing new blocks. Otherwise the sealing process stops with "Signed recently, must wait for others". If you're sure that your sealers are online, then the only logical explaination is that your account unlock has ran into a timeout (...


2

I might have to look into this further...but this line: return web3.eth.sendTransaction({ from: bank, to: address, value: topUpWei, gas: defaultGasLimit, gasPrice: defaultGasPrice }) ...the promise returned is the transaction hash and all associated data with it. My initial guess, you might run into scenarios where the transaction is not mined fast ...


2

All I needed isto wait...allowing it to sync up for 1 day and night solved the issue. Ether I received via faucet is visible...eth.blockNumber gives 2894417.


2

With Truffle I use HTTP-RPC calls to deploy my contracts via geth: --rpc should be provided in the CLI when starting geth to enable the HTTP-RPC server by default the HTTP-RPC server will start on localhost:8545 (i.e. 127.0.0.1:8545), though you can change this with the CLI arguments --rpcaddr <new address> and --port <new port> respectively if ...


2

A bucket list is a list of things you'd like to do before you die, such as getting a private PoA network up and running. A bucket limit is an upper bound for the number of peer IP addresses that your client can handle in any given "bucket" while running its peer discovery mechanisms. From the code, it looks like the limit is set to 2 peers from the same /...


2

I see you want a method to get each added number and that can be done just by specifying the variable as public, a getter is automatically created. But you also need to know how many items are in there, a new method must be defined. Let's consider this contract pragma solidity ^0.4.24; contract MetaCoin { uint256[] public someNumbers; function ...


2

They do not accomplish the same things. You will need the 3 interfaces. Command line and options is how you are going to run GETH. Interactive console is how you can send transactions, unlock account and communicate with the Ethereum blockchain. Keep on with your learning and you will understand the difference here. Install GETH, learn how to start a ...


2

Golang debuggers aren't very good at breaking, sometimes they miss the breakpoint. What are you using? Try gdb. There is no way you can skip NewEVM() function it is being called on every transaction inside ApplyTransaction() function in core/state_processor.go. Make sure your node is actually processing blocks, you could be disconnected from peers. You can ...


2

Regarding your first two points: Parameters are passed via so-called "Call Data". Call data is retrieved via certain EVM opcodes (CALLDATACOPY, CALLDATASIZE, CALLDATALOAD). In your testing environment, using the evm tool, you may provide call data with the --input parameter, eg: --input 11223344 will provide 4 bytes of data, 0x11223344. The public ABI of ...


Only top voted, non community-wiki answers of a minimum length are eligible