7

Ethereum's Github has ethereumjs-lib. It appears to be a collection of modules, but is it also a client like Geth? If so, how can one run this Javascript client?

eth
  • 85,679
  • 53
  • 285
  • 406

1 Answers1

9

Yes, there are 3 official clients in Golang, C++ and Python. And there are 4 unofficial clients in Java, Haskell, JavaScript and most recently Rust.

To answer your question, the full node client implementation in JavaScript is the node-blockchain-server of the ethereumjs project.

The node-blockchain-server aims to provide a full Ethereum node implementation. It is in a pretty rough state at the moment, but at least can download the blockchain.

In oposite to other client implementations, for JavaScript you need to add a couple of libraries to get a fullstack client. Check out keythereum for managing keys and ethereumjs-tx for creating transactions with them.

The full list of libraries (23) in the ethereumjs project can be found on their homepage.

q9f
  • 32,913
  • 47
  • 156
  • 395
  • node-blockchain-server says "It doesn't do state transitions". Not clear what that means. Also, can you send it transactions? – eth Feb 10 '16 at 08:58
  • No, updated my answer. – q9f Feb 10 '16 at 09:02
  • Looks like the answer to this is "not yet". If/when mentioning "need to add a couple libraries", I think it would be better to describe that more ;) – eth Feb 12 '16 at 05:31
  • Can you scan the ethereum blockchain with these? – Shamoon May 08 '18 at 15:02