The Stack Overflow podcast is back! Listen to an interview with our new CEO.

Hot answers tagged

39

i´ve just used migrate --reset (without deleting /build) , and worked


38

Here is a guide you may find useful: Download Ethereum Software Setup Ethereum Software Download Mining Software Setup Mining Software Mine Step 1: Download Geth The first thing you need to do is go to this link download Geth. Geth is the program that communicates with the Ethereum Network and acts as the a relay between your computer, its hardware and ...


33

An 'Ethereum client' is just a term. It refers to any node able to parse and verify the blockchain, its smart contracts and everything related. It also allows you/provides interfaces to create transactions and mine blocks which is the key for any blockchain interaction. Official reference implementations (CLI) There are currently three reference ...


31

As provided in comments by Mavlarn and ivicaa above, the answer is to delete the .json files under build/contracts/. Then the next run of truffle migrate no longer fails.


30

Geth uses leveldb. Some of the reasons behind choosing it was: In process database (i.e. I don't need to run an additional software) Native implementation in Go (i.e. cross platform to everything Go supports) Key/value store (i.e. values are arbitrary binary blobs, no schema constraints) Modern data storage (i.e. multiple layers on disk, organized in the ...


23

Because you ran geth as a daemon you can either: killall -HUP geth in one line, or get the pid with: ps ax | grep geth and kill it with kill kill -HUP <pid> -HUP is the sighup signal, is optional but is more gentle than the normal TERM signal.


13

There are a couple of "reference implementations" that the Ethereum foundation is supporting. Ethereum C++ (known as Eth or "TurboEthereum") Go Ethereum (known for the command line client Geth) EthereumJ Pyethereum There are a couple of reasons for doing this. Finding consensus problems. Bitcoin was created in an isolated environment, because of this ...


13

Ahm, you're looking at the stable branch, that's being frozen for Homestead. Check out the develop branch, we're pushing in commits almost every day. Edit: Further, the Go team switched over to a much stricter development methodology to prevent any major issues from getting into the main codebase: Every pull request needs review by at least two team ...


13

You can try Nethereum, it's available on Github. It is currently in alpha stage, and provides an RPC client API similar to Web3. Including: JSON RPC methods Contract deployment Function call / transaction sending (encoding / decoding parameters) Event filtering creation (encoding of parameters / decoding of topics) Linux / OSX support as it is developed ...


13

There is state trie pruning in the works, which would be able to constantly delete old data that is not needed any more. Hand in hand with pruning is the fast sync, which sync to the network in such a way that it doesn't generate all the intermediate junk, but rather downloads the latest state from the get go. Pruning is aimed to be included in Geth 1.5. ...


12

The Morden testnet is the public Frontier testnet, meaning there are other miners, and other people will be able to see your contracts. It is important to note that you should not use the same accounts on the testnet as you do on the live network, or you will be at risk of replay attacks. The --dev flag creates a private testnet, accessible only to you. It ...


12

The address is derived from a random private key. The client does not check if it has been previously used because the chance of that happening is nearly zero.


12

Using e.g. the web3 JS API, you could setup a filter and watch block changes: var filter = web3.eth.filter('latest'); filter.watch(function(error, result){ var block = web3.eth.getBlock(result, true); console.log('current block #' + block.number); });


11

use Ctrl c or kill -INT <pid> if you started geth with console, you exit with Ctrl D or > exit


9

The light client (LES) is currently only being developed in the Go Ethereum codebase and is currently rounding off the first of two phases. The first phase consists of the following high level components: [•] Validating header [•] Validating state information [•] Querying state information (accounts, code, nonces, etc.) [•] Validating receipts [ ] Sending ...


9

Ethereum hasn't yet released features which would provide something like SPV. Instead of SPV it will be called Light Client and the protocol for this being developed is called "LES". More information on the ethereum github wiki.


9

Besides Browser Solidity (as @Rob Hitchens recommended), you could also develop smart contracts using Brownie. You could implement your smart contracts and test it on its local blockchain, where each transaction will be deploy right away and increment the block number. Brownie: A python framework for Ethereum smart contract deployment, testing and ...


8

For Geth you can connect to the public testnet (Morden) via: geth --testnet For other clients and for a full explanation plese refer to this wiki page: Ethereum wiki / Morden If you don't want to use the main public testnet you could use another public testnet, for that you have to specify at least these parameters: geth --networkid=12345 --genesis ...


8

I think the most important phrase in your question is 'what is the likelihood'. The other answers are correct in determining that there is a 1 in 2^160 likelihood of finding a collision with 100% probability. Due to the birthday paradox, cryptographers give a hash function with output bitlength 160 a bitwise security rating of 80. This is because with 2^80 ...


7

When running in console Geth can be stopped by sending it a keyboard interrupt with Ctrl + c. You should see output similar to the following. I0127 09:46:49.971487 62813 blockchain.go:1230] imported 1 block(s) (0 queued 0 ignored) including 0 txs in 2.836192ms. #913170 [2eb50f50 / 2eb50f50] ^C I0127 09:46:54.258683 62813 cmd.go:123] Got interrupt, ...


7

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 ...


7

in your build folder you cmake .. -DGUI=0


7

Using Geth 1.5.3 and later, it's 2 steps: Run geth --testnet removedb to delete your blockchain database for the Morden network. Run geth --testnet ORIGINAL: When you use geth init, the datadir should end with /testnet. For example: /Users/sam/Library/Ethereum/testnet When you use other commands like geth console, the datadir should be the parent ...


6

Not yet. You are referring to DApps running on mobile devices, I think. There are apps available which offer ethereum-related services like [1] but they certainly query some nodes via RPC which removes the decentralization aspect. As of today, there are no light clients for mobile available yet. A mist for mobile has yet to be implemented.


6

While Péter Szilágyi's answer is in no way wrong, there's also an other possibility. If you redownload the blockchain with Parity instead of geth, the size of the blockchain is reduced from your 10 GB to a mere 1.5 GB!


5

No, different implementations are not inherently compatible with each other's data structures. Although clients may share some similarities either accidentally or intentionally, most non-consensus development was done in isolation. Two major exceptions to this exist: keys adhering to the Web3 Secret Storage Definition should be transportable between eth ...


5

You need to update geth. Fast sync was implemented in version 1.3.1.


5

The full client (or the fat client) has to replay all the transactions on the state to ensure the validity. What you are looking for is a variation of a light client which is being currently in research. The idea is to be watching only part of the state and use other peers for parts of the state that has less interest.


5

It is possible, yes. Miners can choose to include any transactions they want, and to censor any that they don't want in the final chain. On the other hand, as long as mining power is sufficiently decentralized, there is very little chance of a miner mining many blocks in a row, so the transaction should eventually be executed. This is not a bad thing, ...


5

There are several ways you can run Ethereum: PyEthApp Python version GoEthereum Go Version (Probably the most popular) EthereumJ Java version Web3 umbrella C++ version All of the above are developed under the Ethereum project an have detailed installation instructions. So I think it really depends on what you want/need. If you're trying to get a sense of ...


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