1

I learned about GETH a few days ago. I need Geth to create wallets of etherum and make transactions with these wallets (I use geth instead of third-party api to create some programs related to eth). I very much hope that you will help me understand the following:

  1. What are the minimum system requirements for geth? (for creating accounts, making transactions)
  2. Is it necessary to synchronize a blockchain for creating accounts, making transactions?
  3. If not, how does it work? How to make an account and transaction without synchronization?
  4. How do I know if the synchronization is complete?
  5. Will errors occur when synchronizing the blockchain if you accidentally disable geth? (server shutdown or geth process termination)
  6. If so, how can I check for errors in the synchronized blockchain?
  7. Are there any alternatives that have web3 access?
  8. I have a server running with geth --fast --cache = 2048.

    System: cpu amd athlon II x2 220, 4 GB ram, 500 gb hdd 5400 rpm, OS ubuntu 16.04 x64.

    With such parameters, ram is loaded to 100%, + 1GB swap file of 4 GB. I tried to change the parameter --cache to 128, 256, 512, 1024 and even to 16 MB, but ram always get 100% loaded. Blockchain is synchronized for 6 days already, blockNumber still 0.

    Is this normal?

P.S. Sorry for my english, this is not my native language.

P.P.S. If you know the answer to at least one question, please answer me.

2 Answers 2

0

tl;dr: In most cases, it's easier to use a service that runs the public Ethereum nodes for you. Read on to know your options.


MetaMask And Remix

Currently, the easiest way to get started developing smart contracts with Solidity is using Google Chrome, MetaMask and Remix (selecting Run > Environment > Injected Web3).

This will save you hours of fiddling with settings. When you start, you'll usually want to prioritise getting exposure to and practice the syntax. This setup makes it easy to deploy the contracts (and let's you do that to test nets and to the main net).


Truffle

Another excellent option is using Truffle. I find this more flexible, especially because I like to work on my CLI and editor. You can read an amazing introductory write-up from Mason Forest here.

Another big plus for Truffle is that it allows you to deploy your contracts on a personal Blockchain using testrpc -- more recently renamed as Ganache.


Geth

Geth is resource intensive and it takes time to sync. You'll need a good computer (with an ssd drive), a good internet connection, and a lot of patience to wait while it downloads the entire blockchain.

A common alternative to downloading the blockchain is creating a genesis block and mining a new blockchain locally. This can be a fun exercise and provide you with familiarity with the API. You'll find many written and recorded tutorials online.

3
  • Are there any analogues of geth with the web3 interface, which are less resource intensive? Commented Feb 7, 2018 at 7:23
  • Yes! :) Take a look at Truffle! Commented Feb 7, 2018 at 7:38
  • @WindowsEight If you want, you can accept my question on the check button on its side. Thank you! Commented Feb 8, 2018 at 4:38
0

My English is not very good either but I will try to answer you with the little I know about the subject

  • 1) By default the geth cache starts with 128MB and of course your system needs more to run, so you need at least 512mb, of course the more you have the better run
  • 2) To create accounts you do not need to be synchronized but to make transactions yes
  • 4) Running the command geth attach and then eth you can see the status of your synchronization. If blockNumber: 0 then it is not synchronized
  • 5) If GETH is accidentally closed before the synchronization is finished, nothing happens, next time you open it, it will continue where it left off
  • 7) Yes, are alternatives to the web3, as is the RPC but web3 is the easiest to use

I hope I have been helpful, greetings

2
  • 7) "Alternatives" is meant an alternative to geth, who have rpc, web3 Commented Feb 6, 2018 at 23:44
  • 1) I have a server running with geth --fast --cache = 2048. System: cpu amd athlon II x2 220, 4 GB ram, 500 gb hdd 5400 rpm, OS ubuntu 16.04 x64. With such parameters, ram is loaded to 100%, + 1GB swap file of 4 GB. I tried to change the parameter --cache to 128, 256, 512, 1024 and even to 16 MB. Blockchain is synchronized for 6 days already, blockNumber still 0. Is this normal? Commented Feb 7, 2018 at 0:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.