<feed xmlns='http://www.w3.org/2005/Atom'>
<title>monzero-core.git/src/blockchain_db/blockchain_db.cpp, branch v0.10.0</title>
<subtitle>Monzero core node, command-line wallet, consensus code, and release tooling.
</subtitle>
<id>https://code.monzero.org/monzero-core.git/atom?h=v0.10.0</id>
<link rel='self' href='https://code.monzero.org/monzero-core.git/atom?h=v0.10.0'/>
<link rel='alternate' type='text/html' href='https://code.monzero.org/monzero-core.git/'/>
<updated>2016-08-28T20:30:26Z</updated>
<entry>
<title>New "Halfway RingCT" outputs for coinbase transactions</title>
<updated>2016-08-28T20:30:26Z</updated>
<author>
<name>moneromooo-monero</name>
<email>moneromooo-monero@users.noreply.github.com</email>
</author>
<published>2016-08-12T17:45:07Z</published>
<link rel='alternate' type='text/html' href='https://code.monzero.org/monzero-core.git/commit/?id=c3b3260ae5b5acde445fa88a6f0909f582903754'/>
<id>urn:sha1:c3b3260ae5b5acde445fa88a6f0909f582903754</id>
<content type='text'>
When RingCT is enabled, outputs from coinbase transactions
are created as a single output, and stored as RingCT output,
with a fake mask. Their amount is not hidden on the blockchain
itself, but they are then able to be used as fake inputs in
a RingCT ring. Since the output amounts are hidden, their
"dustiness" is not an obstacle anymore to mixing, and this
makes the coinbase transactions a lot smaller, as well as
helping the TXO set to grow more slowly.

Also add a new "Null" type of rct signature, which decreases
the size required when no signatures are to be stored, as
in a coinbase tx.
</content>
</entry>
<entry>
<title>move the rct commitments to the output_amounts database</title>
<updated>2016-08-28T20:29:02Z</updated>
<author>
<name>moneromooo-monero</name>
<email>moneromooo-monero@users.noreply.github.com</email>
</author>
<published>2016-06-29T18:55:49Z</published>
<link rel='alternate' type='text/html' href='https://code.monzero.org/monzero-core.git/commit/?id=59a66e209a844ac6d4221f7c04141b32fa2823c3'/>
<id>urn:sha1:59a66e209a844ac6d4221f7c04141b32fa2823c3</id>
<content type='text'>
Since these are needed at the same time as the output pubkeys,
this is a whole lot faster, and takes less space. Only outputs
of 0 amount store the commitment. When reading other outputs,
a fake commitment is regenerated on the fly. This avoids having
to rewrite the database to add space for fake commitments for
existing outputs.

This code relies on two things:

- LMDB must support fixed size records per key, rather than
per database (ie, all records on key 0 are the same size, all
records for non 0 keys are same size, but records from key 0
and non 0 keys do have different sizes).

- the commitment must be directly after the rest of the data
in outkey and output_data_t.
</content>
</entry>
<entry>
<title>add rct to the protocol</title>
<updated>2016-08-28T20:28:37Z</updated>
<author>
<name>moneromooo-monero</name>
<email>moneromooo-monero@users.noreply.github.com</email>
</author>
<published>2016-06-15T22:37:13Z</published>
<link rel='alternate' type='text/html' href='https://code.monzero.org/monzero-core.git/commit/?id=dc4aad7eb5fffa450d4c5eb094cf962e45b2f43a'/>
<id>urn:sha1:dc4aad7eb5fffa450d4c5eb094cf962e45b2f43a</id>
<content type='text'>
It is not yet constrained to a fork, so don't use on the real network
or you'll be orphaned or rejected.
</content>
</entry>
<entry>
<title>Cleanup and clarify</title>
<updated>2016-04-05T19:57:45Z</updated>
<author>
<name>Howard Chu</name>
<email>hyc@symas.com</email>
</author>
<published>2016-04-04T01:10:58Z</published>
<link rel='alternate' type='text/html' href='https://code.monzero.org/monzero-core.git/commit/?id=591e421875988ea63313a7da22062f62f06b30ab'/>
<id>urn:sha1:591e421875988ea63313a7da22062f62f06b30ab</id>
<content type='text'>
Try to rationalize the variable names, document usage.
</content>
</entry>
<entry>
<title>Schema update: tx_indices - yet less indirection</title>
<updated>2016-04-05T19:54:06Z</updated>
<author>
<name>warptangent</name>
<email>warptangent@tutanota.com</email>
</author>
<published>2016-03-04T19:37:41Z</published>
<link rel='alternate' type='text/html' href='https://code.monzero.org/monzero-core.git/commit/?id=a2f518aa014163e63e39ce5e83a4f0d4d5be5c3f'/>
<id>urn:sha1:a2f518aa014163e63e39ce5e83a4f0d4d5be5c3f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update schema for "tx_outputs" to use array containing amount output indices</title>
<updated>2016-04-05T19:30:50Z</updated>
<author>
<name>warptangent</name>
<email>warptangent@tutanota.com</email>
</author>
<published>2016-01-31T13:10:14Z</published>
<link rel='alternate' type='text/html' href='https://code.monzero.org/monzero-core.git/commit/?id=132c666f67937676bea1cc145c242b857f9852a2'/>
<id>urn:sha1:132c666f67937676bea1cc145c242b857f9852a2</id>
<content type='text'>
This speeds up wallet refresh by directly retrieving a tx's amount output indices.

It removes the indirection and walking the amount output duplicate list
for every amount in each requested tx.

"tx_outputs" is used by:
Amount output indices are needed for wallet refresh.
Global output indices are needed for removing a tx.

Both amount output indices and global output indices are now stored in
an array of 64-bit unsigned ints:

tx_outputs[&lt;tx_hash&gt;] -&gt; [ &lt;a1_oi, a1_gi, a2_oi, a2_gi, ...&gt; ]

Previously it was:
tx_outputs[&lt;tx_hash&gt;] -&gt; duplicate list of &lt;a1_gi, a2_gi, a3_gi, ...&gt;

The amount output list had to be walked for every amount in order to
find each amount's output index, by comparing the amount's global output
index with each one in the duplicate list until a match was found.

See also d045dfa7ce0bf131681193c97560da26f9f37900
</content>
</entry>
<entry>
<title>read txn/cursor stuff</title>
<updated>2016-02-23T20:47:15Z</updated>
<author>
<name>Howard Chu</name>
<email>hyc@symas.com</email>
</author>
<published>2016-02-18T12:09:57Z</published>
<link rel='alternate' type='text/html' href='https://code.monzero.org/monzero-core.git/commit/?id=8cc7a36f0be2f90b62a6ffce840817e046e928a0'/>
<id>urn:sha1:8cc7a36f0be2f90b62a6ffce840817e046e928a0</id>
<content type='text'>
Could wrap more later.
</content>
</entry>
<entry>
<title>blockchain_db: pass hard fork object as a simple pointer</title>
<updated>2016-02-08T20:56:31Z</updated>
<author>
<name>moneromooo-monero</name>
<email>moneromooo-monero@users.noreply.github.com</email>
</author>
<published>2016-02-08T20:56:31Z</published>
<link rel='alternate' type='text/html' href='https://code.monzero.org/monzero-core.git/commit/?id=8649b9f1ef53375b40ac4a489bb8e56b82bb968c'/>
<id>urn:sha1:8649b9f1ef53375b40ac4a489bb8e56b82bb968c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move HardFork DB update to BlockchainDB::add_block()</title>
<updated>2016-02-08T17:28:19Z</updated>
<author>
<name>warptangent</name>
<email>warptangent@tutanota.com</email>
</author>
<published>2016-02-08T16:09:07Z</published>
<link rel='alternate' type='text/html' href='https://code.monzero.org/monzero-core.git/commit/?id=e02577f594ecd0a619ef3efaf65de90df9c20289'/>
<id>urn:sha1:e02577f594ecd0a619ef3efaf65de90df9c20289</id>
<content type='text'>
Ensures the database is consistent.

Also simplifes blockchain_import in that verify mode off has less to
work around.
</content>
</entry>
<entry>
<title>Make HardFork object available to BlockchainDB and derived DB implementations</title>
<updated>2016-02-08T17:28:17Z</updated>
<author>
<name>warptangent</name>
<email>warptangent@tutanota.com</email>
</author>
<published>2016-02-08T15:51:57Z</published>
<link rel='alternate' type='text/html' href='https://code.monzero.org/monzero-core.git/commit/?id=3800875406fecab5123564e58ddb698bce550441'/>
<id>urn:sha1:3800875406fecab5123564e58ddb698bce550441</id>
<content type='text'>
This will later allow the HardFork object's DB update functions to be
called when the DB transaction that persists across block add/remove is
open.
</content>
</entry>
</feed>
