Releases: trezor/blockbook
v0.5.0
What's Changed
- Compute values of internal transactions in balance history by @martinboehm in 4b3c821
- Improve parsing of ETH input data by @martinboehm in a81420f
- Add getBlock websocket endpoint by @martinboehm in 6626f33
- Add extended index option to bitcoin configs by @martinboehm in 7ae521e
- Add BNB Smart Chain by @kaladinlight in #869
- Generate typescript documentation from golang types by @martinboehm in 15c19ac
- Add admin page for refetching internal data by @martinboehm in 7b068e0)
- perf: leverage binary search for managing for Ids and MultiTokenValues by @kaladinlight in #910
- Get hourly and five minutes fiat rates @martinboehm in a4f7f5b
- Golomb filter of scriptPubKeys for mempool txs by @martinboehm in #923
- Add Polygon by @kaladinlight in #872
- Change symbol for Sepolia by @AdamSchinzel in #962
- Use Erigon for Ethereum Sepolia backend by @AdamSchinzel in #986
- Add Holesky by @AdamSchinzel in #977
- Add support of staking pools by @martinboehm in ac46385
- Add mempool.space alternative blockchain fees provider by @martinboehm in 5f47f3c
- Refactor in initialization NewCoinGeckoDownloader by @romanornr in #1011
- Update type for
gasPrice
by @AdamSchinzel in #1037 - Remove Goerli by @AdamSchinzel in #1055
- Add Optimism Bedrock by @kaladinlight in #901
- Show Nonce for ethereum type transactions in explorer by @martinboehm in c1f2e62
- Add network parameter to getInfo ws request by @martinboehm in a0960c8
- Add Bitcoin Testnet4 by @martinboehm in #1141
- Add Arbitrum One and Arbitrum Nova Support by @kaladinlight in #1112
- EthereumType: admin interface to read and update contract info by @martinboehm in a55c69a
- Add option to disable sync of mempool transactions by @martinboehm in 4c5c0bd
- Add support for h suffix in addition to ' suffix is to denote hardened xpub derivation by @martinboehm in 783ab61
- Show raw tx hex in UI by @grdddj in #1162
- Add Ethereum type EIP1559 fee estimate by @martinboehm in a3b0a05
- Use mempool.space for testnet4 by @grdddj in #1199
- Add Base Support by @kaladinlight in #1150
- Initialize block times asynchronously to speed up server startup by @martinboehm in c1be450
- Ethereum Pectra Fork by @kaladinlight in #1211
- Upgrade rocksdb to v9.10.0 and go to v1.23.7 by @martinboehm in 1448a11
- Optimize slice handling of pack/unpack addressContracts by @martinboehm in a9be4a0
- Unpack addressContracts partially during connect block to improve performance by @martinboehm in d61a113
- Add parallel connect of blocks for EthereumType coins by @martinboehm in 0790f88
For Ethereum-type coins, database migration is performed during the upgrade process. Migration duration varies based on database size and may take several minutes to tens of minutes. During migration, the server is offline and cannot process client requests. Bitcoin-type coins do not require database migration; the server becomes operational immediately after startup.
New Contributors
- @justanwar made their first contribution in #855
- @miguilimzero made their first contribution in #945
- @AdamSchinzel made their first contribution in #962
- @XK4MiLX made their first contribution in #970
- @fanquake made their first contribution in #982
- @marek-liska made their first contribution in #992
- @AlexanderPavlenko made their first contribution in #1036
- @hishope made their first contribution in #1163
- @beforetech made their first contribution in #1206
- @costcould made their first contribution in #1207
- @yudrywet made their first contribution in #1213
- @kedazo made their first contribution in #1217
- @evenevent made their first contribution in #1222
- @f7b made their first contribution in #1234
Full Changelog: v0.4.0...v0.5.0
Blockbook v0.4.0
This is a major release that improves support primarily of the Ethereum type coins.
Ethereum type coins features
- internal transactions (requires backend running in archive mode)
- processing of non fungible tokens (ERC721 and ERC1155)
- error details of failed transactions
- contract creation and destruction events in TX
- support for ENS (Ethereum Naming Service) of addresses
- parsed function signatures (from https://www.4byte.directory/)
- fiat exchange rates for ERC20 tokens
- NFT token preview
- support for alternative EVM chains (by @kaladinlight)
- configs to run archive versions of the blockchains
- support of the Avalanche chain (by @kaladinlight)
Bitcoin type coins features
- calculation of the transaction virtual size (vsize)
- estimation of mining time of mempool transaction
General changes
- upgrade to go 1.19.2, rocksdb 7.7.2
- explorer redesign
- explorer is able to show values in fiat currencies
- reworked download of exchange rates
In case of the Ethereum type coins, the database is not compatible with previous the versions. The database must be recreated by inital synchronization with the backend. To process the internal transactions, the backend must run in archive mode and the synchronization is slow, can take several weeks.
For the Bitcoin type coins, the database upgrades automatically, no action is necessary
Blockbook v0.3.6
New features
- upgrade to go 1.17.1, rocksdb 6.22.1
- add support for Bitcoin Taproot
- add support for Bitcoin output descriptors (see https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md)
- handle Bitcoin
vout
addresses after upgrade to Bitcoind 22.0.0
Bugfixes
- properly set custom rpc port for bitcoin-like testnets
Blockbook v0.3.5
New features
- upgrade to go 1.15.6, rocksdb 6.13.3
- optimize websocket functionality, extend websocket Prometheus metrics
- optional websocket subscription
subscribeNewTransaction
to notify about all new transactions in mempool - return info about backend in websocket
getInfo
request - mempool transaction provided by API always contain coin specific data
- docker build: possibly build for other systems than Debian by specifying BASE_IMAGE
- docker build: add TCMALLOC option to build RocksDB
- improved caching of xpubs and
estimateFee
calls - return ZEC consensus info
Bugfixes
- include ETH transactions in unknown status into balance history
- fix forks detection in connectBlocks loop
- return filtered token balance in case of an empty ETH account
Blockbook v0.3.4
Minor improvement and bugfixes
- send websocket notification on new transaction when registered address appears as input
- add sentToSelf field to BalanceHistory API request
- Ethereum type - add fee value to unspent transaction balance
- Ethereum type - check ERC20 contract balance even if no transactions with given contract were created for address
Blockbook v0.3.3
New features
- switch to go modules
- upgrade to go1.14.2
- improved parsing of ERC20 tokens
- added
data
field toEthereumSpecific
structure - upgrade of btcd and btcutil libraries to support larger transactions and blocks
- upgrade of gorilla websocket library
Blockbook v0.3.2
New features
- detect and mark RBF transactions in explorer and API
- Ethereum addresses are formatted with EIP55 checksum
- possibility to periodically download and store fiat rates from https://www.coingecko.com/
- new API for fiat rates
tickers-list
- list of available currency rate tickerstickers
- fiat currency rate for the specified currency and datebalancehistory
- balance history for the specified XPUB or address
Fix possible inconsistency in the UTXO index
- in rare cases, for a few addresses, the UTXO index could become incorrect. The issue is fixed and the index is recreated on the first startup of the new version. The index creation takes couple of minutes during which Blockbook is neither synchronizing with the backend nor providing any API. Database compatibility is not affected.
Blockbook v0.3.1
- improved handling of network interruptions for Ethereum type coins
- minor bugfixes
Blockbook v0.3.0
New features
- UTXO index - optimized search for UTXOs
- OP_RETURN scripts are not indexed by default
- upgrade to Go 1.12.4 and RocksDB 5.18.3
- minor but breaking change in API V2: all fields are in camelCase. API V1 is unchanged.
the affected fields:
- Tx: lockTime, blockHash, blockHeight, blockTime, tokenTransfers, ethereumSpecific
- Address: nonTokenTxs, erc20Contract, totalTokens->usedTokens
- BlockInfo: previousBlockHash, nextBlockHash, merkleRoot
- BlockbookInfo: gitCommit, buildTime, initialSync
- ChainInfo: bestBlockHash, sizeOnDisk, protocolVersion, timeOffset
- EthereumSpecific: gasLimit, gasUsed, gasPrice
Database is not compatible with previous versions. The database must be recreated by inital synchronization with the backend.
Blockbook v0.2.2
New features
Reworked mempool:
- faster mempool synchronization for Bitcoin type coins
- timeout old mempool transactions for Ethereum type coins
- record first seen time of mempool transactions, show the time in explorer, return it via API
Parse OMNI simple send transactions in Bitcoin, show them in explorer