Package org.bitcoinj.store
Class MySQLFullPrunedBlockStore
java.lang.Object
org.bitcoinj.store.DatabaseFullPrunedBlockStore
org.bitcoinj.store.MySQLFullPrunedBlockStore
- All Implemented Interfaces:
UTXOProvider
,BlockStore
,FullPrunedBlockStore
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.
-
Field Summary
Fields inherited from class org.bitcoinj.store.DatabaseFullPrunedBlockStore
allConnections, chainHeadBlock, chainHeadHash, conn, connectionURL, fullStoreDepth, params, password, schemaName, username, verifiedChainHeadBlock, verifiedChainHeadHash
-
Constructor Summary
ConstructorDescriptionMySQLFullPrunedBlockStore
(NetworkParameters params, int fullStoreDepth, String hostname, String dbName, String username, String password) Creates a new MySQLFullPrunedBlockStore. -
Method Summary
Modifier and TypeMethodDescriptionGet the SQL statements that create the indexes (DDL).Get the SQL statements that create the schema (DDL).Get the SQL statements that create the tables (DDL).protected String
Get the database driver class,protected String
Get the SQL to delete a openoutputs record.protected String
Get the database specific error code that indicated a duplicate key error when inserting a record.protected String
Get the SQL to insert a openoutputs record.protected String
Get the SQL to select a openoutputs record.protected String
Get the SQL to select the transaction outputs for a given address.Methods inherited from class org.bitcoinj.store.DatabaseFullPrunedBlockStore
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, setVerifiedChainHead
-
Constructor Details
-
MySQLFullPrunedBlockStore
public MySQLFullPrunedBlockStore(NetworkParameters params, int fullStoreDepth, String hostname, String dbName, String username, String password) throws BlockStoreException Creates a new MySQLFullPrunedBlockStore.- Parameters:
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 database- Throws:
BlockStoreException
- if the database fails to open for any reason
-
-
Method Details
-
getDuplicateKeyErrorCode
Description copied from class:DatabaseFullPrunedBlockStore
Get the database specific error code that indicated a duplicate key error when inserting a record.This is the code returned by
SQLException.getSQLState()
- Specified by:
getDuplicateKeyErrorCode
in classDatabaseFullPrunedBlockStore
- Returns:
- The database duplicate error code.
-
getSelectOpenoutputsSQL
Description copied from class:DatabaseFullPrunedBlockStore
Get the SQL to select a openoutputs record.- Overrides:
getSelectOpenoutputsSQL
in classDatabaseFullPrunedBlockStore
- Returns:
- The SQL select statement.
-
getInsertOpenoutputsSQL
Description copied from class:DatabaseFullPrunedBlockStore
Get the SQL to insert a openoutputs record.- Overrides:
getInsertOpenoutputsSQL
in classDatabaseFullPrunedBlockStore
- Returns:
- The SQL insert statement.
-
getDeleteOpenoutputsSQL
Description copied from class:DatabaseFullPrunedBlockStore
Get the SQL to delete a openoutputs record.- Overrides:
getDeleteOpenoutputsSQL
in classDatabaseFullPrunedBlockStore
- Returns:
- The SQL delete statement.
-
getTransactionOutputSelectSQL
Description copied from class:DatabaseFullPrunedBlockStore
Get the SQL to select the transaction outputs for a given address.- Overrides:
getTransactionOutputSelectSQL
in classDatabaseFullPrunedBlockStore
- Returns:
- The SQL prepared statement.
-
getCreateTablesSQL
Description copied from class:DatabaseFullPrunedBlockStore
Get the SQL statements that create the tables (DDL).- Specified by:
getCreateTablesSQL
in classDatabaseFullPrunedBlockStore
- Returns:
- The list of SQL statements.
-
getCreateIndexesSQL
Description copied from class:DatabaseFullPrunedBlockStore
Get the SQL statements that create the indexes (DDL).- Specified by:
getCreateIndexesSQL
in classDatabaseFullPrunedBlockStore
- Returns:
- The list of SQL statements.
-
getCreateSchemeSQL
Description copied from class:DatabaseFullPrunedBlockStore
Get the SQL statements that create the schema (DDL).- Specified by:
getCreateSchemeSQL
in classDatabaseFullPrunedBlockStore
- Returns:
- The list of SQL statements.
-
getDatabaseDriverClass
Description copied from class:DatabaseFullPrunedBlockStore
Get the database driver class,i.e org.postgresql.Driver.
- Specified by:
getDatabaseDriverClass
in classDatabaseFullPrunedBlockStore
- Returns:
- The fully qualified database driver class.
-