Releases: dfuse-io/dfuse-eosio
v0.9.0-beta10
Changelog
381f778 Added possibility to create a number of indexes
36d1af9 Bump fluxdb for updated rules to index or not a tablet
12da9aa Fixed migrate command line tool not working anymore
65ac689 Fixed wrong resolver for TokenMeta TotalSupply, it was calling MaximumSupply
cb65466 Removed private dependency pulled in by mistake (go mod tidy does not work)
7ac62f2 Updated dgraphql to pull in streamingfast/dgraphql#2
dd4d6d7 Updated dgraphql, dgrpc and firehose
4c2d9f6 bump dstore to implement STORE_S3_READ_ATTEMPTS
be85fa6 bump kvdb library to raise default grpc recv max size (4MiB to 100MiB is enough for eosio chains)
2a801a7 bump req timeout for statedbproxy
7e8d4d3 bump search for longer transfer time on indexer upload (10m)
d9724ec regenerate a few riceboxes, and autogen files
v0.9.0-beta9
System Administration Changes
Added
- Added support for environment variable
EOSWS_PUSH_V1_OUTPUT=true
that forces push-transaction (guarantee:in-block) to output the same content format as nodeos 2.0.x (with Inlines) - Added support for environment variable
DSTORE_S3_BUFFERED_READ=true
that forces reading S3 files (ex: blocks) ahead of processing, useful when S3 provider has trouble keeping long connections alive. - Added support for looking up irreversible blocks on blockmeta (when the LIB was stuck for a while) from tokenmeta and trxdb-loader. They now use '--common-blockmeta-addr' flag if available
- Added
--common-chain-core-symbol
flag to define actual chain core symbol in the form<precision>,<symbol code>
defaults to4,EOS
by default. - Added
--tokenmeta-readiness-max-latency
with default=5m, now tokenmeta will show as "NotServing" through grpc healthcheck if last processed block (HEAD) is older than this. Value of 0 disables that feature. - Added
--relayer-source-request-burst
with default=90 to allow a relayer connecting to another relayer to request a 'burst' - Added
--statedb-disable-indexing
to disable indexing of tablet and injecting data into storage engine developer option, don't use that in production. - Added
--eosws-nodeos-rpc-push-extra-addresses
to allow providing a list of backup EOS addresses when push-transaction does not succeed in getting the transaction inside a block (with push_guarantee) - Added
--eosws-max-stream-per-connection
to allow changing how many stream can be active at the same time for a given WebSocket connection, defaults to12
which was the hard-coded value.
- Added
--eosws-statedb-proxy-retries
, Number of time to retry proxying a request to statedb before failing (default 2) - Added
--eosws-nodeos-rpc-proxy-retries
, Number of time to retry proxying a request to statedb before failing (default 2)
- Added
--mindreader-max-console-length-in-bytes
which is the limit in bytes that we allow action trace's console output to be before truncating them. - Environment variable
MINDREADER_MAX_TOKEN_SIZE
can now be set to overridebufio.Scanner()
max token size (default52428800
, i.e.50Mb
) for EOSIO chains with huge transactions - Flag
--accounthist-mode
to specific the accounthist mode of operation - Added
tools check accounthist-shards
to - Flag
--common-include-filter-expr
,--common-exclude-filter-expr
,--common-system-actions-include-filter-expr
can optionally specify multiple values, separated by;;;
and prefixed by#123;
where 123 is a block number at which we stat applying that filter - Added
accounthist
tools allows you to scan and read accountsdfuseeos tools accounthist read ...
dfuseeos tools accounthist scan ...
- Flag
--search-router-truncation-low-block-num
to make the router aware of lower-block-truncation and serve requests accordingly - Flag
--mindreader-oneblock-suffix
that mindreaders can each write their own file per block without competing for writes. #140 - Flag
--eosws-disabled-messages
a comma separated list of ws messages to disable. - Flag
--common-system-shutdown-signal-delay
, a delay that will be applied between receiving SIGTERM signal and shutting down the apps. Health-check foreosws
anddgraphql
will respond 'not healthy' during that period.
Removed
- Breaking Change Removed
--eosq-price-ticker-name
flag, if you were using this flag, please use--common-chain-core-symbol
instead to define it. - Removed
dgraphql-graceful-shutdown-delay
, it was a left-over, unused. Must use--common-system-shutdown-signal-delay
now - Removed
relayer-max-drift
(now dependent on a new condition of presence of a "block hole", and no new block sent for 5 seconds) - Removed
relayer-init-time
(no need for it with this new condition ^)
Changed
- The
--eosq-available-networks
logo
field each network now has a maximum height of70px
. - The
--eosq-available-networks
config of each network now accepts alogo_text
that when present, is displayed alongside thelogo
field. This field is taken into consideration only whenlogo
is defined. In this mode, the logo is fixed to48px x 48px
. If thelogo_text
value iseosq
, this is rendered like the standardeosq
logo. - Breaking Change Changes to
--eosq-available-networks
config might be required around thelogo
field each network. You must now remove thelogo
field if it's not pointing to an existing image otherwise, the logo will not be rendered correctly. - Applying a block filter over previously-filtered-blocks does not panic anymore, it applies the new filter on top of it, only if that specific filter has never been applied before. Applied filters definitions are concatenated in the block metadata, separated by
;;;
- Default
trxdb-loader-batch-size
changed to 100, Safe to do so because it does not batch when close to head. - Improved relayer mechanics: replaced "max drift" detection by "block hole" detection and recovery action is now to restart the joining source (instead of shutting down the process)
- Improved
dfuseeos tools check statedb-reproc-injector
output by showing all shard statistics (and not just most highest block). - Breaking Change Changed
--statedb-enable-pipeline
flag to--statedb-disable-pipeline
to make it clearer that it should not be disable, if you were using the flag, change the name and invert the logical value (i.e.--state-enable-pipeline=false
becomes--state-disable-pipeline=true
)
Fixed
- Fixed validation of transaction ID passed to WebSocket
get_transaction
API, the prior validation was too permissive. - Fixed a bug making search-forkresolver useless, because ignored by search-router.
- Fixed a bug on StateDB server not accepting symbol and symbol code as
scope
parameter value. - Fixed shutdown on dgraphql (grpc/http) so it closes the active connections a little bit more gracefully.
- Fixed a bug in
TiKV
store implementation preventing it to delete keys correctly. - Fixed a bug in
eosws
WebSocketget_transaction_lifecycle
where a transaction not yet in the database would never stream back any message to the client. - Fixed a bug with
--mindreader-no-blocks-log
option actually not being picked up (always false) - Fixed a bug with
/state/table/row
not correctly reading row when it was in the table index. - Fixed a bug with
/state/tables/scopes
where the actual block num used to query the data was incorrect leading to invalid response results. - Fixed a bug with gRPC
dfuse.eosio.statedb.v1/State#StreamMultiScopesTableRows
where the actual block num used to query the data was incorrect leading to invalid response results. - Fixed issue when reading ABI from StateDB where speculative writes were not handled correctly.
- Fixed issue when reading Table Row from StateDB where speculative writes were not handled correctly.
- Fixed a potential crash when reading ABI from StateDB and it does not exist in database.
v0.1.0-beta8
v0.1.0-beta7
Changelog
45706da fix netkv plugin missing registration
v0.1.0-beta6
This is a bugfix release (see v0.1.0-beta5 for complete changelog)
Bugfixes
d281ca0 Added missing updateauth
and deleteauth
action in system included actions
Doc improvements
a1e6f9c Improved README, merged some files together and improved filtering indexed actions
4310ef5 add filtering link to admin-guide
a1f4b15 adjust requirements check: yarn 1.10 is well enough
9e25253 bump generated bindata
26efd79 small tweaks to the init file output
v0.1.0-beta5
[v0.1.0-beta5] 2020-08-26
PUBLIC API Changes
Added
- Added
tokens
,accountBalances
,tokenBalances
calls to dgraphql (based on tokenmeta)
System Administration Changes
Changed
- Breaking Change FluxDB has been extracted to a dedicated library (github.com/dfuse-io/fluxdb) with complete re-architecture design.
- Breaking Change FluxDB has been renamed to StateDB and is incompatible with previous written data. See FluxDB Migration section below for more details on how to migrate.
merger
startblock behavior changed, now relies on state-file, see streamingfast/merger#1- Changed
merger-seen-blocks-file
flag tomerger-state-file
to reflect this change. merger
now properly handles storage backend errors when looking for where to startmindreader
now automatically produces "merged blocks" instead of "one-block-files" when catching up (based on blocktime or if a blockmeta is reachable at--common-blockmeta-addr
)mindreader
now sets optimal EOS VM settings automatically if the platform supports it them when doingdfuseeos init
.- Changed
--abicodec-export-cache-url
flag toabicodec-export-abis-base-url
and will contain only the URL of the where to export the ABIs in JSON. - Changed
--abicodec-export-cache
flag toabicodec-export-abis-enabled
.
Added
- Added
tokenmeta
app, with its flags - Added support for filtered blocks, search indices and trxdb, with
--common-include-filter-expr
and--common-include-filter-expr
. - Added
merged-filter
app (not running by default), that generates filtered merged blocks files from regular merged blocks files. - Added truncation handling to
trxdb-loader
, which will only keep a moving window of data intrxdb
, and delete preceding transactions. Enabling that feature requires reprocessing trxdb.--trxdb-loader-truncation-enabled
--trxdb-loader-truncation-window
--trxdb-loader-truncation-purge-interval
- Added
--statedb-reproc-shard-scratch-directory
to run StateDB reprocessing sharder using scratch directory to reduce RAM usage - Added
--merger-one-block-deletion-threads
(default:10) to allow control over one-block-files deletion parallelism
- Added
--merger-max-one-block-operations-batch-size
to allow control over one-block-files batches that are looked up on storage,
- Added
--eosws-with-completion
(default: true) to allow control over that feature - Added
--mindreader-merge-threshold-block-age
when processing blocks with a blocktime older than this threshold, they will be automatically merged: (default 12h) - Added
--mindreader-batch-mode
to force always merging blocks (like --mindreader-merge-and-store-directly did) AND overwriting existing files in destination. - Added
--mindreader-wait-upload-complete-on-shutdown
flag to control how mindreader waits on upload completion when shutting down (previously waited indefinitely) - Added
--search-live-hub-channel-size
flag to specific the size of the search live hub channel capacity - Added
--search-live-preprocessor-concurrent-threads
: number of thread used to run file source preprocessor function - Added
--abicodec-export-abis-file-name
, contains the URL where to export the ABIs in JSON - Added
--metrics-listen-addr
to control on which address to server the metrics API (Prometheus), setting this value to an empty string disable metrics serving. - Added
--dashboard-metrics-api-addr
to specify a different API address where to retrieve metrics for the dashboard. - Added Experimental support for kvdb backend
netkv://
, an extremely simple network layer overbadger
to allow running dfuse components in separate instances.
Removed
- The
--merger-delete-blocks-before
flag is now removed and is the only behavior for merger. - The
--mindreader-merge-and-store-directly
flag was removed. That behavior is now activated by default when encountering 'old blocks'. Also see new flag mindreader-batch-mode. - The
--mindreader-discard-after-stop-num
flag was removed, its implementation was too complex and it had no case where it was really useful. - The
--mindreader-producer-hostname
flag was removed, this option made no sense in the context ofmindreader
app. - The
--eosq-disable-tokenmeta
flag was removed, token meta is now included, so this flag is now obsolete. - The
--eosq-on-demand
flag was removed, this was unused in the codebase.
Fixed
- Fixed issue where
blockmeta
was not serving on GRPC at all because it couldn't figure out where to start on the stream - Fixed issue with
merger
with a possible panic when reading a one-block-file that is empty, for example on a non-atomic storage backend - Fixed issue with
mindreader
not stopping correctly (and showing any error) if the bootstrap phase (ex: restore-from-snapshot) failed. - Fixed issue with
pitreos
not taking a backup at all when sparse-file extents checks failed. - Fixed issue with
dfuseeos tools check merged-blocks
(start/end block, false valid ranges when the first segment is not 0, etc.) - Improved performance by using value for
bstream.BlockRef
instead of pointers and ensuring we use the cached version. mindreader
andnode-manager
improvednodeos
log handling
FluxDB to StateDB Migration
FluxDB required an architecture re-design to fit with our vision about the tool and make it chain agnostic (so
it is easier to re-use on our other supported chain).
The code that was previously found here has been extracted to its own library (https://github.com/dfuse-io/fluxdb).
There is now a new app named StateDB (statedb
is the app identifier) in dfuse for EOSIO that uses FluxDB to
support all previous API endpoints served by the FluxDB app as well as now offering a gRPC interface.
While doing this, we had to change how keys and data were written to the underlying engine. This means that all
your previous data stored cannot be read anymore by the new StateDB and that new data written by StateDB will
not be compatible on a previous instance.
What that means exactly is that StateDB will require to re-index all the current merged blocks up to live blocks
before being able to serve requests. This is the main reason why we decided to rename the app, so you are forced
to peform this step.
Here the steps required to migrate to the new statedb
app:
-
In your
dfuse.yaml
config, under replace thefluxdb
app bystatedb
and all flags prefixed with
fluxdb-
must now be prefixed withstatedb-
.From:
start: args: - ... - fluxdb - ... flags: ... fluxdb-http-listen-addr: :9090 ...
To:
start: args: - ... - statedb - ... flags: ... statedb-http-listen-addr: :9090 ...
-
If you had a customization for
fluxdb-statedb-dsn
, you must first renamed itstatedb-store-dsn
tostatedb-store-dsn
. Important You must use a new fresh database, so update your argument
so it points to a new database, ensuring we don't overwrite data over old now incompatible data.
If you did not customize the flag, continue reading, the default value has changed to point to a
fresh storage folder.If you had a customization for
eosws-flux-addr
, rename toeosws-statedb-grpc-addr
and ensure it
points to the StateDB GRPC address (and not the HTTP address), its value must be the same as the flag
statedb-grpc-listen-addr
. -
If you have a custom
fluxdb-max-threads
flag, removed it, customizing this value is not supported
anymore. -
From an operator standpoint, what we suggest is to craft a
dfuse.yaml
config that starts StateDB
only in inject mode only. You let this instance run until StateDB reaches the live block of your
network.Once you have reached this point, you can now perform a switch to the new StateDB database. Stop
the injecting instance. Stop your production instance, renaming old app idfluxdb
tostatedb
(and all flags) then reconfigure it so thestatedb-store-dsn
points to the database populated
by the injecting instance. At this point, you can restart your production node and continue
normally using the newstatedb
app.
v0.1.0-beta4
RELEASE DATE: 2020-06-23
We’re constantly working on improving the user experience with each release, so here’s what changed since our last update:
Public API Changes
On the Public API side of things, which is meant for developers querying the data on chain through the dfuse hosted services or through a local version of the dfuseeos
product, we introduced 1 BREAKING change for 2 fields;
Changed
- BREAKING: For more clarity when using these fields, the
eosws
transaction lifecycle fieldscreation_irreversible
&cancelation_irreversible
were renamed respectively todtrx_creation_irreversible
anddtrx_cancelation_irreversible
.
System Administration Changes
On the side of System Administration, which is meant for developers running a local version of the dfuseeos
product, we introduced many changes, some of them BREAKING;
Added
- App:
mindreader-stdin
— This app relays blocks and produces one-block-files (or merged-blocks-files) based onstdin
, without trying to managenodeos
. This is an alternative way of seeding your dfuse system if you have existing tooling for managing nodeos operations. It uses only a subset of themindreader
flags and does not stop on TERM signal until it receives an EOF signal fromstdin
. - App:
booter
— We’re especially excited about this new app! This app allows a boot sequence to be applied to a new chain (see the README for more information). It also brings new flags with it:--booter-bootseq
— File path to the desired boot sequence (default: "./bootseq.yaml").--booter-data-dir
— Booter's working directory (default: "{dfuse-data-dir}/booter").--booter-nodeos-api
— Target API address to communicate with underlyingnodeos
(default: “http://localhost:8888/”).--booter-private-key
— Genesis private key having control over aneosio
account to be able to create all related system accounts & contracts.--booter-vault-file
— Wallet file that contains encrypted key material.
- Command: dmesh — This command was added to the
dfuseeos tools
with 2 new flags:--dsn
&--service-version
. This command allows you to inspectdmesh
search peers. It currently only supports etcd (the server in which all the information is stored, see this graphic). - Command: kv — This command was added to the
dfuseeos tools
with 8 new subcommands:get
,scan
,prefix
,account
,blk
,blkirr
,trx
,trxtrace
. This command allows you to retrieve data fromtrxdb
at a lower lever (e.g. only rows of data). - Command: db — This command was added to the
dfuseeos tools
with 2 new subcommands:blk
,trx
. This command allows you to retrieve data fromtrxdb
at a higher level (e.g. assembling multiple rows into a data structure). - Command:
check trxdb-blocks
— This command was added to thedfuseeos tools
and ensures linearity of irreversible blocks in storage, which is useful to know if you've missed some block ranges when doing parallel insertions into yourtrxdb
storage. This relates totrxdb-loader
's job being done right. - Flag:
--mindreader-fail-on-non-contiguous-block
— This flag lets you enable themindreader
ContinuityChecker (default:false). Seemindreader
under the CHANGED section below. - Flag:
--log-level-switcher-listen-addr
— This flag lets you change the port to which you send your HTTP request to switch the log levels of a given component in real-time (default: ":1065") (see LOGGING.md). - Flag:
--common-ratelimiter-plugin
— This flag lets you enable a rate limiter plugin (default: "null://"). - Flag:
--pprof-listen-addr
— This flag enables you to change the port listening topprof
(default: ":6060"). - Flag:
--search-common-dfuse-events-unrestricted
— This flag lets you lift all restrictions on Indexing Limits for searching dfuse Events (max field count, max key length, max value length). - Flag:
--mindreader-discard-after-stop-num
— This flag lets you discard all blocks after stop-num if it is set totrue
(default:false). See themindreader
bullet below. mindreader
now writes remaining one-block files after stop-block if--mindreader-merge-and-store-directly
is set, unless--mindreader-discard-after-stop-num
is set totrue
. This improves the experience of a user following PARTIAL_SYNC.md steps, producing merged files up to a certain block, then switching to one-block files with a separate merge instance. This improves the parallel reprocessing experience.- The auto-backups feature will now only trigger if
os.Hostname()
returns the non-empty value of one of these new flags:--node-manager-auto-backup-hostname-match
--node-manager-auto-snapshot-hostname-match
--mindreader-auto-backup-hostname-match
--mindreader-auto-snapshot-hostname-match
- The
trxdb
“deduper” now reduces storage by removing identical action data and calls the "reduper" to add this data back. EOS Mainnet saves 20%(!) off of storage because of this.
Changed
- BREAKING:
eosdb
was renamed totrxdb
(the storage location where blocks & transactions are saved). Verify and adjust your command arguments and 'dfuse.yaml' file for references toeosdb
. Specifically,eosdb
’shealthz
endpoint field is nowtrxdb
’shealthz
endpoint field, so you might need to adjust your monitoring. - BREAKING: The search flag
--search-common-dfuse-hooks-action-name
was renamed to--search-common-dfuse-events-action-name
. - BREAKING: The
abicodec
app default value for its--abicodec-cache-base-url
and--abicodec-export-cache-url
flags was changed to{dfuse-data-dir}/storage/abicache
(fixing a typo inabicahe
). To remain compatible, simply do a manual rename on disk before starting the updated version such asmv {dfuse-data-dir}/storage/abicahe {dfuse-data-dir}/storage/abicache
. - BREAKING: The
fluxdb
flag--fluxdb-enable-dev-mode
was removed. Use--fluxdb-enable-live-pipeline=false
to get the same behavior as before. mindreader
ContinuityChecker is not enabled by default anymore.- The value of
node-manager
andmindreader
’s respective--shutdown-delay
flags is now also applied to commands likesnapshot
orbackup
, so they become "not-ready" on /healthz endpoint, allowing a load-balancer to take it out of the pool before they actually stop working. - The
dfuseeos tools check blocks
command was renamed todfuseeos tools check merged-blocks
. - The
search
roarCache is now based on a normalized version of the query string (e.g.a:foo b:bar
is now equivalent tob:bar a:foo
, etc.). Note that this will make previously-cached entries useless. - The
--node-manager-number-of-snapshots-to-keep
and--mindreader-number-of-snapshots-to-keep
flags now default to0
, which means an unlimited number of snapshots will be kept, instead of their previous default of5
which only kept the latest 5 backups. - Various startup speed improvements for the
blockmeta
,bstream
, andsearch-indexer
apps.
Removed
- The
--search-indexer-num-blocks-before-start
flag was removed fromsearch-indexer
. Because of that,search-indexer
now automatically resolves its start block.
Fixed
trxdb
now correctly implements "BatchGet" on most operations, giving a great(!) performance increase over previous versions.- Global flags and specifically the
--search-common-dmesh-dsn
flag are now correctly parsed from the config file. search-indexer
no longer overflows on negative startblocks on new chains, it fails fast instead.search-archive
relative-start-block truncation now works.search-forkresolver
no longer throws a nil pointer (app was previously broken).mindreader
now has a more resilient shutdown handling (expects EOF onnodeos
stdout).- The
mindreader
andnode-manager
logs fromnodeos
that go through zap now have their level parsed correctly instead of all being seen as DEBUG.
v0.1.0-beta3
System Administration Changes
Breaking changes
- To improve dfuse instrumented
nodeos
binary processing speed, we had to make incompatible changes to data exchange format going out ofnodeos
. This requires you to upgrade your dfuse instrumentednodeos
binary to latest version (https://github.com/dfuse-io/eos/releases/tag/v2.0.5-dm-12.0). Follow instructions in at https://github.com/dfuse-io/dfuse-eosio/blob/develop/DEPENDENCIES.md#dfuse-instrumented-eosio-prebuilt-binaries to install the latest version for your platform. --mindreader-working-dir
default value is now{dfuse-data-dir}/mindreader/work
instead of{dfuse-data-dir}/mindreader
this is to prevent mindreader from walking files into the working dir and trying to upload and delete nodes system files likefork_db.dat
- The Changed section below lists a bunch of breaking changes regarding command-line flags.
Added
- Added
--eosq-available-networks
json string to configure the network section of eosq.
{
"id": "id.1",
"name": "Network Name",
"is_test": false,
"logo": "/images/network-logo.png",
"url": "https://www.example.com/"
},
]
- Added
--eosq-default-network
string to configure the default network eosq - Added
--eosq-disable-analytics
bool to configure eosq analytics - Added
--eosq-display-price
bool to configure if eosq displays prices - Added
--eosq-price-ticker
string to configure if eosq price ticker - Added
--eosq-on-demand
bool to configure if eosq serves an on-demand network - Added
--eosq-disable-tokenmeta
bool to configure if eosq disables tokenmenta - Added
--eosq-environment
environment where eosq will run (local, dev, production) - Added
--apiproxy-autocert-domains
,--apiproxy-autocert-cache-dir
and--apiproxy-https-listen-addr
to serve SSL directly from proxy.
Removed
- Removed the
--merger-store-timeout
flag. Not needed anymore, as some sensible timeouts have been put here and there, using the latestdstore@v0.1.0
that is context-aware.
Changed
- We improve by 4x times the performance of dfuse instrumented
nodeos
binary on heavy EOS Mainnet blocks. This required changes tonodeos
data exchange format, so you will need to upgrade it, see theBreaking
change entry at top of this section. - Fixed behavior of
--eosq-api-endpoint-url
to allow specifying protocol (ex: https://api.mydomain.com) - The
kvdb-loader
application was renamedtrxdb-loader
. In general what was (confusingly) namedkvdb
is nowtrxdb
, so thatkvdb
can now take on its full meaning of a lean key-value storage abstraction (which is also used by FluxDB).- All
--kvdb-loader
flags have been renamed to--trxdb-loader
. - Metrics ID for
kvdb-loader
has been changed totrxdb-loader
(check your dashboards)
- All
- The
--mindreader-merge-and-upload-directly
was renamed to--mindreader-merge-and-store-directly
. --common-blocks-store-url
now replaces all of these flags:--mindreader-merged-blocks-store-url
,--relayer-blocks-store
,--fluxdb-blocks-store
,--kvdb-loader-blocks-store
,--blockmeta-blocks-store
,--search-indexer-blocks-store
,--search-live-blocks-store
,--search-forkresolver-blocks-store
,--eosws-blocks-store
--common-oneblock-store-url
now replaces these flags:--mindreader-oneblock-store-url
,--merger-one-block-path
--common-backup-store-url
now replaces these flags:--node-manager-backup-store-url
,--mindreader-backup-store-url
--search-common-indices-store-url
now replaces these flags:--search-indexer-indices-store
,--search-archive-indices-store
--common-blockstream-addr
now replaces these flags:--fluxdb-block-stream-addr
,--kvdb-loader-block-stream-addr
,--blockmeta-block-stream-addr
,--search-indexer-block-stream-addr
,--search-live-block-stream-addr
,--eosws-block-stream-addr
--common-blockmeta-addr
now replaces these flags:--search-indexer-blockmeta-addr
,--search-router-blockmeta-addr
,--search-live-blockmeta-addr
,--eosws-block-meta-addr
,--dgraphql-block-meta-addr
--common-network-id
now replaces this flag:--dgraphql-network-id
--common-auth-plugin
now replaces these flags:--dgraphql-auth-plugin
,--eosws-auth-plugin
--fluxdb-statedb-dsn
replaces--fluxdb-kvdb-store-dsn
(to avoid confusion between what's actually stored inkvdb
and how FluxDB is using it (as a simple kv store).--trxdb-loader-parallel-file-download-count
replaces--kvdb-parallel-file-download-count
--common-trxdb-dsn
replaces these flags:--blockmeta-kvdb-dsn
,--abicodec-kvdb-dsn
,--eosws-kvdb-dsn
,--dgraphql-kvdb-dsn
,--kvdb-loader-kvdb-dsn
- Changed default value for storage URL for
fluxdb
andkvbd
(now namedtrxdb
)
Fixed
--kvdb-loader-chain-id
not being taken into account. This affected the decoding of public keys during thekvdb
loading process.
v0.1.0-beta2
Added
- Added
apiproxy
application, with its flags - Added
--log-format
option for JSON output andlog-to-file
bool (default to true, same behavior as before) - Filtering (whitelist and blacklist) of what is indexed in Search, based on Google's Common Expression Language. See details here. Added
--search-common-action-filter-on-expr
and--search-common-action-filter-out-expr
.- NOTE: This doesn't affect what is extracted from the chain, allowing you to re-index selectively without a chain replay.
Changed
- CLI: dfuseeos init now writes dfuse.yaml with the
start
command's flags, also the array of components to start - CLI: new
{dfuse-data-dir}
replacement string in config flags, also changed default flag values --node-manager-config-dir
now./producer
(wasmanager/config
)--node-manager-data-dir
now{dfuse-data-dir}/node-manager/data
(wasmanagernode/data
)--mindreader-config-dir
now./mindreader
(wasmindreadernode/config
)--mindreader-data-dir
now{dfuse-data-dir}/mindreader/data
(wasmindreadernode/data
)- CLI: regrouped some flags:
--search-indexer-dfuse-hooks-action-name
,--search-live-dfuse-hooks-action-name
,--search-forkresolver-dfuse-hooks-action-name
fused into new--search-common-dfuse-hooks-action-name
.--search-...-mesh-publish-polling-duration
fused into new--search-common-mesh-publish-polling-duration
.- all of the
--search-mesh-...
options were renamed to--search-common-mesh-...
(previously--search-mesh-service-version
,--search-mesh-namespace
,--search-mesh-store-addr
) dashboard
: now separate metrics for mindreader vs producer nodedashboard
doesn't act as a reverse proxy anymore (apiproxy
does)dashboard
's default port is now:8081
eosq
's port is now proxied through:8080
, so use that.- App
manager
renamed tonode-manager
. All of its flags were changed from--manager-...
to--node-manager-...
Removed
- The
--search-...-indexing-restrictions-json
. This was replaced by the filtering listed above.