Podcast #128: We chat with Kent C Dodds about why he loves React and discuss what life was like in the dark days before Git. Listen now.
34

On Windows the blockchain is stored in C:\ProgramData\bitmonero\lmdb. It's a hidden folder, but if you simply copy paste aforementioned path into your Windows explorer it will go to it. The folder contains your blockchain (data.mdb).


29

The fastest way to achieve this, is to download the current blockchain and import it into the daemon: Step 1: Move into the folder where you downloaded the Monero Gui Wallet, e.g: cd ~/Downloads/monero-gui-0.10.3.1-beta2 Step 2: Download the raw block chain from a trusted source, e.g: wget -c --progress=bar https://downloads.getmonero.org/blockchain.raw ...


23

The way blocks are currently propagated, every transaction is sent even though a node might have many, if not all transactions already. The idea is to just send the block header and transaction IDs, and if necessary, any missing transactions. The ultimate achievement is a reduction in data sent over the wire, which translates to lower bandwidth ...


20

Most non coinbase Monero transactions are currently around 2,000 bytes (but with significant variation) which is somewhere in the neighborhood of 8 times larger than most Bitcoin non coinbase transactions. The reason why RingCT should help eliminate the need for extremely large Monero transactions is that RIngCT no longer will require the use of outputs of ...


18

In short, someone managed to exploit a bug in the code, which produced a block that couldn't be validated by the nodes, there's a full analysis of the attack here, https://lab.getmonero.org/pubs/MRL-0002.pdf Fluffy explained it well, so I'll just paste his abbreviated comment from here: https://www.reddit.com/r/Monero/comments/30jp2n/...


18

Note that, if you are stuck on block 1288639 (or block 1400001) or a few blocks later, you are using a wrong, outdated, version and you should upgrade to the latest version, which can be found here. In addition, this won't require a resync from scratch, as the "new" monerod will automatically use the blockchain that was used with the previous version and ...


17

The current blockchain size is around 50 GB as of October, 2018. On Windows platforms, you can check the size of the blockchain by checking the size of C:\ProgramData\bitmonero\lmdb\. On Linux/UNIX platforms, you can check the size of the blockchain in the terminal by executing du -sh ~/.bitmonero/lmdb/. The Wolfram Warptangent v0.10.0 release bundled in ...


17

Block A block is defined in CNS003 as: block: a set of data (payload) with a block header The structure of a block follows, and it is: Block Structure A block consists of three parts: block header, base transaction body, list of transaction identifiers. The list starts with the number of transaction identifiers that it ...


15

Non coinbase transactions can start at a couple hundred bytes, and can go up in size a lot if they have a large number of inputs. The main factors driving up size is the number of inputs and mixin. When sending a large amount, if the sending wallet only has small inputs, it will have to include a lot of them in the transaction (and possibly even send ...


14

It's work done by revler1082, to introduce the Monero variant of compact blocks. As to what it's supposed to do, here's a quote from the github discussion which pretty much sums it up. fluffypony wrote: @NanoAkron @revler1082 I think let's stick to Compact Blocks for now, XThin isn't massively well-specced, and there are other issues with it. Here's ...


14

An orphaned block refers to a block that was originally accepted by the network (a part of the network, anyway) as a valid block with a valid hash and valid transactions. Due to the physical constraints of computers and the internet, a block that is solved by a miner and contributed to the network is not instantly propagated to the rest of the network. ...


13

From the project's FAQ: What is Kovri? Kovri is a secure, private, untraceable C++ router implementation of the I2P anonymous network. What was once a fork of i2pd, Kovri has become a unique, actively-developed, community-driven C++ I2P implementation with many improvements, security enhancements, and new features over its predecessor. ...


12

A lot of the other answers address some but not all of the questions. Is Monero intended to be a competitor to Bitcoin, or is the intent to develop technology that will improve Bitcoin? It is unknown whether Bitcoin will ever implement any of Monero's technologies, but from the outset, the cryptonote protocol (from which Monero has evolved) was made to ...


12

To some extent, it is, but it is also a common canard that FUDsters like to cling to. Monero transactions are indeed larger than Bitcoin's, and RingCT transactions will be even larger. However, most of the data (signatures) can be dropped by a node after verification (there are drawbacks, though: this node can't serve a blockchain to another node later). ...


12

Changing the sync size parameter can have a positive impact in some cases. Start the daemon with: ./monerod --block-sync-size 10 Quoting /u/closenix's test results: I've run some tests: Syncing with block-sync-size 10 was faster than with the default of 200. I've run the daemon 9 times in sequence, every time starting at block 1275000 and ending at ...


11

Privacy isn't free. From what I understand, any coin that provides privacy will deal with at least some degree of bloat, as a private transaction will always add more data to the blockchain than a transparent one. This can be seen with coinjoin transactions in Bitcoin and Dash's implementation of coinjoin, both of which add significant amounts of bloat.


11

I know Monero is dynamically scalable, but everyone knows that simply increasing blocksize does not make a blockchain scale. Saying "everybody knows" doesn't really cut it. Who can say what kind of hardware will be available by the time usage of Monero network gets to the point where Bitcoin is today. It's really not possible to answer this honestly without ...


10

Well, looking at a few transactions gives you the answer quite plainly, at least for the Monero side. I'm not familiar with Bitcoin transaction sizes, but I think they're a few hundred bytes, typically. A small tx, 4 inputs and 4 outputs: 1692 bytes. http://moneroblocks.info/tx/f634025ef2d0fd0836ce2a5207e782609c3250cd5f8a0dd5269ce4e5c2f71bb7 A large tx, 21 ...


10

When you send a transaction, a one time random keypair is generated. You can later see it with get_tx_key txid, replacing txid with the transaction id for the transaction in question. You can then send an auditor/arbitrator three pieces of data: the standard address you sent to, the transaction id, and the tx key for that transaction. The auditor can then ...


10

Jolly Mort and revler1082 already provided a nice description of the Monero Compact Blocks (fluffy blocks) concept. Below is some background for the ideas origination, development and nickname, which serves as a great model for new developers interested in joining the Monero community. Four months ago the developer revler1082 appeared on r/monero asking for ...


10

The blockchain is stored in $HOME/.bitmonero For testnet, it'll be in $HOME/.bitmonero/testnet You can select a different directory with the --data-dir option if needed, eg: ./monerod --data-dir /var/tmp/monero


9

You can first use the show_transfers command in monero-wallet-cli to see if your transaction shows there. It should show as "pending". Subsequently, you can use the flush_txpool command in monerod (the daemon). The wallet will shortly notice this and change the status of the transaction from "pending" to "failed". In order to get the right balance, however, ...


9

As of v0.10.0, yes the LMDB files are cross-compatible between 32 and 64bit architectures. They have always been cross-compatible between OSs. They are still byte-order dependent but almost everyone uses little-endian CPUs these days so it's not much of an issue.


9

When you have 5 monero it actually means that you have some unspent outputs with the total value being 5 monero. Those outputs are actually one-time use containers and you always empty them completely to make new ones. So, if you had 5 monero in a single container, when sending 3 monero to someone, you'd empty your original container and create new ones of ...


8

Height is the current block a transaction is contained in (or sometimes also represents the highest block of the blockchain). The blockchain consists of "blocks" of grouped transactions. They are linked AKA "chained" to the last updated block every X minute interval. For Bitcoin it is 10 minutes, for Monero it is 2 minutes. When a new block is created, it is ...


8

These questions are answered by the pruning FAQ, which was posted by core-developer smooth, who is also a core-team member of Monero. Pruning FAQ Q: What is pruning? A: Pruning refers to removing unnecessary information from the blockchain once it is no longer needed. Q: What are the advantages? A: Pruning reduces the amount of storage ...


8

The current Monero median block size (last 1,000 blocks) is 286 bytes. The median transaction size is slightly less because some block include multiple transactions. The current median BTC transaction size is 260 bytes. http://moneroblocks.info/stats https://bitcoinfees.21.co/ Monero median (not mean) block sizes are important since they influence the ...


8

I think the answer is both Aside from the privacy advantage of not having worry about being identified as a ring signatures side chain user, Monero offers other advantages such as a hedge of having an alternative hashing algorithm to secure the network. In addition, next level advancements such as RingCT and Kovri will likely come much later in a ring ...


8

If you're using python, the py-lmdb module includes a basic CLI. http://lmdb.readthedocs.io/en/release/ Keep in mind that you'll be getting raw data back, not anything in a human-readable format.


8

In general, LMDB files are architecture-dependent and cannot be moved between different architectures. In Monero, all LMDB structures are 64-bit clean, so the files are portable between 32 and 64 bit architectures. But they are still endian-dependent, and are not portable across endianness. This hasn't been a concern since the two dominant architectures ...


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