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?
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.
-
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 8:58
-
-
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 5:31
-