49

Continuing to research, need to enter the geth node console to enter special commands. The following works: geth attach Sends user to the geth node console. eth.syncing Produces a result like current block: 82,100; highest block 2,910,032. exit To go back to Pi prompt.


41

After running your normal geth --fast command you can open a new window and run the "geth attach" command as this will attach you to the javascript interface $ geth attach Then you can use this script to have a nice output of what is happening. It is very rudimentary but works really well to give you an idea of how long you will still need to wait. First ...


12

geth saves its internal states for the main network in the chaindata directory. You can find it in the directory: ~/.ethereum on linux ~/Library/Ethereum on OS X ~/AppData/Roaming/Ethereum It uses the LevelDB database. You can save this directory only if geth is stopped to prevent corruptions. The data is portable on Linux, Windows and MacOS X (i have ...


9

Copying the .ethereum/chaindata folder is a good idea. I've done that on my Rpi2 and everything worked fine. Also, if it's not fully synced on the original machine, the RPi2 will just start syncing from the last block in the copied chaindata folder, thus saving a lot of time. Note that I never ran geth import blockchain_db. There was no need. Copying the ...


6

Although Geth has always worked on the RPI, we haven't put much effort into optimizing for such low end devices. During the Olympic testnet I did make Geth syncable on the RPI1, but there have been quite massive modifications and it wasn't a priority to keep this platform operationally feasible. We're currently in the midst of releasing Geth 1.4.6, which ...


5

Light clients are on the way for lower power embedded devices. I believe these light clients only get block headers initially, and further data as needed on-demand from full nodes on the Ethereum network. Here are 2 of the light clients that are work-in-progress I am aware of: Official Ethdev Light Client Ethcore's Parity In regards to pruning the ...


5

For temporary messages, I'd use Events. They can be used to send individual instructions to the devices. For persistent data like the current temperature, you can use storage variables. For example, this could turn the LED on if the temperature raises above 60 degrees. contract IOT { uint public temperature; address sensor; address led; ...


4

I exported the full blockchain on 1.088.000 Blocks in 13 min. (1.00 GB) To import it on a Ubuntu 14.04 machine and not bad Hardware it tooks over 8 Hours! So import or fully synch from scratch is not a big difference in time. Starting the console after importing the Blockchain tooks again around 20 min. It works, but next time i would definitely try to just ...


4

The Raspberry Pi Zero might not have enough resources (memory/disk/cpu) to download the entire blockchain and be used as a full node. If you just want to use it for generating accounts (maybe as part of a cold wallet), you could: Go to the go-ethereum v1.3.3 release page (or whatever is currently stable) Download "geth-ARM-20160105140454-1.3.3-c541b38.tar....


4

Yes it does. I started to write a procedure a couple of weeks ago in here based on ethraspbian. It works fine.


3

I was in the exact same situation and solved this by installing the geth binary directly. Find the latest arm7 geth binary here The link address is harder to track down, but it's https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.7.3-4bb3c89d.tar.gz $ wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.7.3-4bb3c89d.tar.gz ...


3

A couple of points you are circling here. RPC vs. IPC: RPC is less secure because it is accessible via network, in this case via a HTTP socket. If you have no accounts on that node, that's just fine. In addition, you could also disable criticial APIs by running: parity --jsonrpc-apis=safe The IPC is a UNIX socket which is only accessible with certain ...


3

You can get about 10H/s on a Raspberry Pi (some variant), so maybe 100H/s on a Pi 3 (generously). At current difficulty and prices, you'd make one US dollar in 125 000 days (about three and a half centuries). You'd probably be consuming about 5 watts (after factoring in power supply efficiency and excluding power to connect to network). A decent rule of ...


3

Firstly you will need to connect to the running geth process from a second terminal $ geth attach As the other answers have stated the structure you are interested is eth.syncing To see the remaining blocks you could do > eth.syncing.highestBlock - eth.syncing.currentBlock And for the remaining states > eth.syncing.knownStates - eth.syncing....


3

While running geth sync process, I used geth attach and then used eth.syncing on geth console. I could get block info. And if you're just after running geth command itself, you need to wait until geth starts "real" syncing process. Otherwise you'll see false. geth version result Geth Version: 1.7.2-stable Git Commit: ...


3

Do a fast sync, that's what it was designed to do :) Wiped your existing chaindata and run with --fast, possible try bumping the allotted cache a bit --cache 128. It should make a world of a difference.


3

You can try https://github.com/ConsenSys/icebox - it supports offline generation of key and manual adding of random numbers. The OS CSPRNG on Linux can be relied upon, as long as the computer has been doing a few things since first installing Linux (e.g. harddrive writes, mouse/keyboard inputs. Linux gathers entropy from such events into it's entropy pool, ...


3

Communication between parties on the Ethereum network, if the messages are temporarily and shouldn't be stored for ever, can be done over the Whisper protocol. If you want to give this a whirl and are using geth make sure to start your nodes with the --shh flag. This will enable whisper. You can find more information about the Whisper API here. A working ...


3

Star the client geth or eth as seen on step 9, upon doing this your node will get start to sync if it not already synced. You can see your node ethernodes.org. Also there is ethstats.net see How to add a node to the Ethereum Network Status page?


2

On both nodes, you need to run the same genesis commands: geth --datadir /where/ever init /your/genesis.json And the same launch command: geth --datadir /where/ever --networkid A_NUMBER Your admin.addPeer() command is correct. Make sure that the long hex part of the enode of your laptop and Raspberry are different. If they are the same, delete the /where/...


2

There's a really excellent ongoing effort over at http://ethembedded.com/ to build images for boards like the Raspberry Pi. They're all homestead compatible. Not sure if these count as "light" by your definition. They have geth/eth/parity builds available for: Raspberry Pi 2/3 Odroid XU3/XU4 WandBoard Quad BeagleBone Black Check them out and happy ...


2

I haven't tried it but apparently you can (link below) !! diyEthereumGeth


2

What tips are there for debugging/fixing? These suggestions aren't specific to Ethereum/Geth/etc., but they may be of use to someone seeing the same problem in future. The error was complaining about a lack of memory. (Where "memory" means RAM, not harddisk space.) /usr/lib/go-1.7/pkg/tool/linux_arm/link: running gcc failed: fork/exec /usr/bin/gcc: ...


2

Note : i think this issue was resolved in the updated geth version by removing the elliptic.P224 usage so you are using an old release. I think the Tuto you follow is not updated. I suggest you to repeat the steps by using : git clone -b release/1.5 https://github.com/ethereum/go-ethereum.git Solution for old release : I've the same problem i resolved it ...


2

Yes, you can copy the chaindata between machines. You need a decent one for the first time sync, because the chaindata is far more than 40GB. But you can download it with a computer, preferably one with a high bandwidth and an SSD, and just copy the chaindata to your Raspberry Pi. On windows, the chaindata is located under C:\Users\username\AppData\Roaming\...


2

It depends how you are syncing. If you do the full sync, then you can restart but it can take a huge time. If you do a fast-sync, you are not syncing the full blockchain, but only the state at some point. It cannot be stoped but it is faster. I think in your case, the best solution is the third way: light-sync. It does not download the entire blockchain, ...


1

You have to do all at once. Because after downloading the blockchain, your machine will start validating states and it can´t be stopped. If you stop, you have to start from zero.


1

Do not use POW, use Proof of Authority and problem solved. Reason being POA requires no DAG generation, therefore is suitable for low end devices.


1

If you have the personal API enabled on your node, you can interact with it with web3 just like you would via the console. If I'm automating something, I generally configure the service to run as an isolated user on my system. Then, I'll put the password for the account the user interacts with in a file in the user's home directory (or other location), and ...


1

I have sync the Ethereum Geth node on my Raspberry PI 4B 8GB with 2TB SSD attached via USB 3.0. It took more than 3 months! After that, I have created solution, that can help anyone to start an Ethereum Geth node quickly. Just to download geth chaindata folder via HTTP and continue to sync your own node with defined --datadir key with pre-downloaded folder.


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