public class MySQLFullPrunedBlockStore extends DatabaseFullPrunedBlockStore
A full pruned block store using the MySQL database engine. As an added bonus an address index is calculated,
so you can use DatabaseFullPrunedBlockStore.calculateBalanceForAddress(Address) to quickly look up
the quantity of bitcoins controlled by that address.
allConnections, chainHeadBlock, chainHeadHash, conn, connectionURL, fullStoreDepth, params, password, schemaName, username, verifiedChainHeadBlock, verifiedChainHeadHash| Constructor and Description |
|---|
MySQLFullPrunedBlockStore(NetworkParameters params,
int fullStoreDepth,
java.lang.String hostname,
java.lang.String dbName,
java.lang.String username,
java.lang.String password)
Creates a new MySQLFullPrunedBlockStore.
|
| Modifier and Type | Method and Description |
|---|---|
protected java.util.List<java.lang.String> |
getCreateIndexesSQL()
Get the SQL statements that create the indexes (DDL).
|
protected java.util.List<java.lang.String> |
getCreateSchemeSQL()
Get the SQL statements that create the schema (DDL).
|
protected java.util.List<java.lang.String> |
getCreateTablesSQL()
Get the SQL statements that create the tables (DDL).
|
protected java.lang.String |
getDatabaseDriverClass()
Get the database driver class,
|
protected java.lang.String |
getDeleteOpenoutputsSQL()
Get the SQL to delete a openoutputs record.
|
protected java.lang.String |
getDuplicateKeyErrorCode()
Get the database specific error code that indicated a duplicate key error when inserting a record.
|
protected java.lang.String |
getInsertOpenoutputsSQL()
Get the SQL to insert a openoutputs record.
|
protected java.lang.String |
getSelectOpenoutputsSQL()
Get the SQL to select a openoutputs record.
|
protected java.lang.String |
getTransactionOutputSelectSQL()
Get the SQL to select the transaction outputs for a given address.
|
abortDatabaseBatchWrite, addUnspentTransactionOutput, beginDatabaseBatchWrite, calculateBalanceForAddress, close, commitDatabaseBatchWrite, deleteStore, dumpSizes, get, get, getBalanceSelectSQL, getChainHead, getChainHeadHeight, getCompatibilitySQL, getDeleteUndoableBlocksSQL, getDropTablesSQL, getInsertHeadersSQL, getInsertSettingsSQL, getInsertUndoableBlocksSQL, getOnceUndoableStoredBlock, getOpenTransactionOutputs, getParams, getSelectHeadersDumpSQL, getSelectHeadersSQL, getSelectOpenoutputsCountSQL, getSelectopenoutputsDumpSQL, getSelectSettingsDumpSQL, getSelectSettingsSQL, getSelectUndoableblocksDumpSQL, getSelectUndoableBlocksSQL, getTablesExistSQL, getTransactionOutput, getUndoBlock, getUpdateHeadersSQL, getUpdateSettingsSLQ, getUpdateUndoableBlocksSQL, getVerifiedChainHead, hasUnspentOutputs, maybeConnect, put, put, putUpdateStoredBlock, removeUnspentTransactionOutput, resetStore, setChainHead, setVerifiedChainHeadpublic MySQLFullPrunedBlockStore(NetworkParameters params, int fullStoreDepth, java.lang.String hostname, java.lang.String dbName, java.lang.String username, java.lang.String password) throws BlockStoreException
params - A copy of the NetworkParameters usedfullStoreDepth - The number of blocks of history stored in full (something like 1000 is pretty safe)hostname - The hostname of the database to connect todbName - The database to connect tousername - The database usernamepassword - The password to the databaseBlockStoreException - if the database fails to open for any reasonprotected java.lang.String getDuplicateKeyErrorCode()
DatabaseFullPrunedBlockStoreThis is the code returned by SQLException.getSQLState()
getDuplicateKeyErrorCode in class DatabaseFullPrunedBlockStoreprotected java.lang.String getSelectOpenoutputsSQL()
DatabaseFullPrunedBlockStoregetSelectOpenoutputsSQL in class DatabaseFullPrunedBlockStoreprotected java.lang.String getInsertOpenoutputsSQL()
DatabaseFullPrunedBlockStoregetInsertOpenoutputsSQL in class DatabaseFullPrunedBlockStoreprotected java.lang.String getDeleteOpenoutputsSQL()
DatabaseFullPrunedBlockStoregetDeleteOpenoutputsSQL in class DatabaseFullPrunedBlockStoreprotected java.lang.String getTransactionOutputSelectSQL()
DatabaseFullPrunedBlockStoregetTransactionOutputSelectSQL in class DatabaseFullPrunedBlockStoreprotected java.util.List<java.lang.String> getCreateTablesSQL()
DatabaseFullPrunedBlockStoregetCreateTablesSQL in class DatabaseFullPrunedBlockStoreprotected java.util.List<java.lang.String> getCreateIndexesSQL()
DatabaseFullPrunedBlockStoregetCreateIndexesSQL in class DatabaseFullPrunedBlockStoreprotected java.util.List<java.lang.String> getCreateSchemeSQL()
DatabaseFullPrunedBlockStoregetCreateSchemeSQL in class DatabaseFullPrunedBlockStoreprotected java.lang.String getDatabaseDriverClass()
DatabaseFullPrunedBlockStorei.e org.postgresql.Driver.
getDatabaseDriverClass in class DatabaseFullPrunedBlockStore