Skip to content

v3.1.0 - Flex 💪

Compare
Choose a tag to compare
@jyap808 jyap808 released this 30 Jul 06:55
· 1453 commits to master since this release

Summary

All services which run Ubiq nodes are encouraged to upgrade but this is considered an optional upgrade as there are no hard fork changes. Fusion wallet will be updated to point to the latest version and you will automatically be prompted to upgrade.

Gubiq 3.1 is based on the 1.9.14 release series of Geth and is the first Gubiq release to be based on the 1.9 branch.

Note that this release introduces deep freeze chain segments and upgrades the on-disk database so it cannot be used by previous versions of Gubiq once upgraded (you will need to re-sync from scratch to downgrade to an older version of Gubiq).

For more information, see our blog post: https://blog.ubiqsmart.com/announcing-gubiq-3-1-7e92d1351aeb

Changes

Build enhancements

Disable symbol table and DWARF generation for smaller binaries and adding Trimpath which also enhances privacy by stripping the full path of the source code location.

The trimpath and minimum Go 1.13 change has been submitted by the Ubiq developers and merged to upstream Go-Ethereum: ethereum#21374

Mac signed binary

Beginning with macOS Catalina (10.15), Apple is requiring all software distributed outside of the Mac App Store to be signed and notarized. Software that isn't properly signed or notarized will be shown an error message with the only actionable option being to "Move to Bin". The software cannot be run even from the command-line. The workarounds are painful for users.

The Mac version of Gubiq is a signed binary, which can be verified with the command below:

$ codesign -dvv gubiq-darwin-amd64
Executable=gubiq-darwin-amd64
Identifier=gubiq
Format=Mach-O thin (x86_64)
CodeDirectory v=20500 size=244913 flags=0x10000(runtime) hashes=7648+2 location=embedded
Signature size=8920
Authority=Developer ID Application: Julian Yap (35EY347E6X)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=Aug 9, 2020 at 1:50:15 AM
Info.plist=not bound
TeamIdentifier=35EY347E6X
Runtime Version=10.15.4
Sealed Resources=none
Internal requirements count=1 size=168

This prevents the "Move to Bin" error message from popping up. Unfortunately there is no way to directly notorize a command line binary so a different error pops up due to Catalina's heavier restrictions.

The workaround is to attempt to run the binary and then go to the "Security & Privacy" panel, "General" tab is updated to reflect that the binary was recently prevented from running. Then click on "Allow Anyway".

Account unlocking

Account unlocking with open HTTP, WebSocket or GraphQL ports have been disallowed due to security reasons. Power users can restore the old behavior with the --allow-insecure-unlock CLI flag at their own risk.

RPC APIs

The legacy --rpc flags are being deprecated, they are still supported for now but we recommend changing over to the new format when you get a chance (--http --http.api="web3,eth,net" --http.corsdomain="*") this also applies to the --ws flags (now --ws.api and the likes)

Deep freeze chain segments

Recent blocks, all state and accelerations structures are kept in a fast key-value store (LevelDB) as until now. This is meant to be run on top of an SSD as both disk IO performance is crucial.

Blocks and receipts that are older than a cutoff threshold (3 epochs) are moved out of LevelDB into a custom freezer database, that is backed by a handful of append-only flat files. Since the node rarely needs to read these data, and only ever appends to them, an HDD should be more than suitable to cover it.

Checksums

$ shasum -a 256 *
f61dc390cbef4aae3d1f1ebafaff5cdbfa0bd3e54507439d4751f6308df6db79  gubiq-darwin-amd64
f30b43367915965b72642804f3f44bdca4bc0e88a2159780a44e2a07d7581cc8  gubiq-linux-amd64
f733349c34e466e30abf340e4ee677dd7c462df0b7c0bf0c75c9cd0dbb15faf1  gubiq-linux-arm-7
5978700da6087fd78ffe913d90c48530e3d5f7f7927653020263b12649308194  gubiq-linux-arm64
ec00628645d3e77f233b8fc1b08ed4a18115f94c1b4779fa76cb6439e0245df8  gubiq-windows-4.0-amd64.exe