November 2021 Conseil Release
This is a major release with several new features and includes breaking changes to both the config file format and the database schema.
Changes
- General support for the Hangzhou protocol (#1043, #1051, #1053)
- Change to config file format (#1025)
- Handling of 'local' forks (#1048)
- Added a
big_maps_contents_history
table (#1012) - Support for
countDistinct
aggregations (#1027) - Added ordering to complex operations with internal elements (#1035)
- Registered tokens format change to JSON (#1021)
- Code and build cleanup (#984, #971, #1026, #1030, #1032, #1036, #1044, #1049)
- Metadata updates (#997, #998, #1001, #1004, #1005, #1007, #1008, #1009, #1037)
Handling breaking changes to the config file format
According to the existing config file format, Conseil expected details of only one database, e.g.:
conseil {
hostname: "0.0.0.0"
port: 1337
db {
dataSourceClass = "org.postgresql.ds.PGSimpleDataSource"
properties {
# Replace the below lines with details of your database configured with the Conseil database schema
user = "myuser"
password = "mypassword"
url = "jdbc:postgresql://localhost:5432/conseil"
}
numThreads = 20
maxConnections = 20
}
lorre.db = ${conseil.db}
Now we have one database per network in the config file, e.g.:
platforms: [
{
name: "tezos"
network: "mainnet"
enabled: true
node: {
#Replace the below entries with the address of your Tezos node
protocol: "http",
hostname: "127.0.0.1",
port: 8732
path-prefix: ""
}
db {
dataSourceClass = "org.postgresql.ds.PGSimpleDataSource"
properties {
# Replace the below lines with details of your database configured with the Conseil database schema
user = "myuser"
password = "mypassword"
url = "jdbc:postgresql://localhost:5432/conseil"
}
numThreads = 20
maxConnections = 20
}
}
]
See https://github.com/Cryptonomic/Conseil/wiki/Configuring-Conseil for a full spec of the latest config file format.
Handling breaking changes to the database
There is now a big_maps_contents_history
table. In addition, we have added new columns to other tables to support additional fork handling behaviors. Finally, there are new tables for in-flight changes which aren't officially released yet, e.g. TZIP-16 metadata support.
As such, existing Conseil databases are not compatible with the new release. You may create a new database using the latest schema and re-sync the whole chain from scratch yourself or download our snapshot from AWS S3 (Postgres custom format).