Skip to content

Release 4.3.1 (ARM64 Support)

Compare
Choose a tag to compare
@cheeseandcereal cheeseandcereal released this 23 Dec 18:12
· 54 commits to production since this release
4eceedc

This is an incremental Dragonchain release with some small code changes/bugfixes, mainly focusing on shrinking the resource footprint of Dragonchain.
This release also contains full official support for ARM64 on L2+ chains, included pre-built ARM64 docker containers.

Redisearch has been made an optional component for L2+ chains, greatly reducing the footprint of these chains. By default, redisearch will no longer be installed with L2+ chains. Please keep in mind that redisearch will NOT run on ARM64 machines, however it can be optionally enable when deploying the helm chart for L2+ chains. Removing redisearch removes any query functionality of the chain, which can be regained by simply re-enabling redisearch on helm deployment if desired.

Note that with ARM64 support, Dragonchain has been tested and can be ran on a raspberry pi with 2GB or more of RAM. See the additional raspberry pi docs for more information.

As usual, the helm chart is provided packaged in dragonchain's helm repo, and has been signed with @cheeseandcereal's pgp key 0xC16C6CC0 which is available on keybase and various PGP key servers.

Changelog

  • Feature:
    • Add field to status endpoint return to indicate if indexing (redisearch) is on/off
    • Allow get/list/update on smart contract api keys (allowing their permissions to be viewed/changed)
  • Bugs:
    • Fix bug where updating an existing secret for a smart contract would cause the contract deployment to fail
    • Restrict contract create/update schema to deny overwriting reserved 'secret-key' and 'auth-key-id' secrets
    • Restrict contract create/update schema to only allow a restricted character-set for secret names so invalid names can't be used (which would previously cause the smart contract build to fail)
  • Documentation:
    • Edit notes about ram usage requirements for Dragonchain
    • Add documentation for deploying with a raspberry pi
  • Packaging:
    • Update boto3, fastjsonschema, and web3 dependencies
    • Change default node level with helm install to L2 (from L1)
    • Allow option for turning redisearch on/off with verification (L2+) nodes (and disable by default)
    • Provide multiarch (arm64/amd64) manifests for built containers in dockerhub
    • Update redisearch in helm chart to 1.4.19
    • Tweak pod resource usages in helm chart for lower requirements
    • Update fwatchdog to 0.18.7 for OpenFaaS smart contracts
  • CICD:
    • Add building for arm64 containers (in addition to existing amd64)
  • Development:
    • Add script to check for newer requirements.txt package versions
    • Implemented deadlines for L5 blocks based on block times and confirmations for public blockchains
    • Remove any concept of api keys starting with WEB_ from being special
    • Deprecate support for Ethereum Classic Testnet (Morden) with ethereum interchain functionality