2.0.4002
Last updated
Was this helpful?
Last updated
Was this helpful?
Backwards Compatability Warning
To Support new features some schema changes have taken place
If you already have a vram contract in production, it is recommended that you do not use the changes
Migration details and tools will be provided at a later time
To use the new features place #define USE_ADVANCED_IPFS
at the start of your contract
New Advanced Multi Index features
Primary key may be uint32
, uint64
, uint128
, and checksum256
Ability to backup, restore, and clear vram datasets with versioning
add DSP console log in common.js
if minimum stake threshold not met for account’s DAPP stake to DSP’s service package
add reconnect mechanism to demux nodeos websocket
update eos 1.8.7 nodeos
add keysize
support to the ipfs index.js
file
add DSP_CONSUMER_PAYS
logic to config.toml
, if true throws error if DSP permission not setup
add DEMUX_BYPASS_DATABASE_HEAD_BLOCK
to config.toml
, if true bypasses database last processed block as head block and uses config.toml
head block
add LIQUIDX_CONTRACT
to config.toml
, points to EOS mainnet account that hosts the liquidx
contract
add [sidechains]
section to config.toml
add liquidx
ability to offer service to other eosio based chains while using the EOS mainnet for staking, billing, and claim rewards
fixes
add custom permissions for xcallback in generic-dapp-service-node file
fix cron reschedule on error, use nextTrySeconds
time
NODEOS_SECURED
, DSP_CONSUMER_PAYS
, DEMUX_BYPASS_DATABASE_HEAD_BLOCK
, accepted as bool or string when passed from toml, toml passes bools as strings, if set as an env variable manually, will accept as a bool
made --type=local
and --update-mapping
flags default for zeus deploy box
command
modified and fixed ipfs cleanup script to support oracle cleanups
allow zeus compile <CONTRACT_NAME>
, zeus now allows you to only compile a contract by its name if you like, or you can run zeus compile
to run all
add kill-port
npm dependency to eos-extensions
box
move ipfs-daemon
dependency from boxes/groups/core/build-extensions/zeus-box.json
to boxes/groups/dapp-network/dapp-services/zeus-box.json
as IPFS
is only needed with the dapp-services
box
add utils/ipfs-service/get-table.js
- Reads all vRAM tables of a smart contract and stores them with the naming syntax: ${contract_name}-${table_name}-table.json
add utils/ipfs-service/get-ordered-keys.js
- Prints ordered vRAM table keys in ascending order account/table/scope. This can be used to iterate over the entire table client side
allow zeus test <CONTRACT_NAME>
, zeus now allows you to only compile/test a contract by its name if you like, or you can run zeus test -c
to compile/test all
add zeus vaccounts push-action test1v regaccount '{"vaccount":"vaccount1"}'
add ability to import/export LiquidAccount keys
implement storage dapp-client
into storage service test storage-dapp-service/test/storage.spec.js
build dapp-client
from source instead of installing by adding step to start-localenv
use base58 instead of default base32 for LiquidStorage’s ipfs.files.add
to match ipfs service
add zeus test -c
alias to compile all contracts, zeus test
now does not compile by default
Implementing reset, load, and save functionality for multi-index tables
save: add zeus backup-table
command which calls zeus/boxes/groups/services/ipfs-dapp-service/utils/ipfs-service/backup.js
to backup a dapp::multi_index
table
add manifest table to advanced_multi_index.hpp
which provides the sharding details for a table, includes params: checksum256 next_available_key
, uint32_t shards
, uint32_t buckets_per_shard
, and std::map<uint64_t,std::vector<char>> shardbuckets
add backup table to advanced_multi_index.hpp
which provides the manifest details, includes params: uint64_t id
, ipfsmultihash_t manifest_uri
, time_point timestamp
, and string description
add the following actions to the ipfsconsumer example contract:
testman
- load a manifest
testclear
- incrementing table version and clear the shards
and buckets_per_shard
params
testbig
- tests storing an entry with a checksum256
primary key and stores a uint64_t
test number
checkbig
- checks entry checksum256
primary key returns correct value of test number
testmed
- tests storing an entry with a uint128_t
primary key and stores a uint64_t
test number
checkmed
- checks entry uint128_t
primary key returns correct value value of test number
testindex
- tests storing an entry with a uint64_t
primary key and stores a uint64_t
test number
testfind
- checks entry uint64_t
primary key returns correct value value of test number
add following tables to ipfsconsumer example contract: bigentry
- uses a checksum256
primary key, medentry
- uses a uint128_t
primary key
add keysize
as parameter for zeus get-table-row
command, options: 64 (uint64_t), 128 (uint128_t), 256 (uint256_t) and hex (eosio::checksum256)
added the following unit tests: dapp::multi_index checksum256 Get Available Key
, IPFS Save Manifest
, IPFS Clear
, IPFS Load Manifest
, and IPFS cache cleaned after write
add vmanifest
table, getRawTreeData
and getTreeData
functions, and warmuprow
and cleanuprow
service responses to _ipfs_impl.hpp
file
added new service request types warmuprow
,cleanuprow
to the ipfs service
utilize over-eager loading in dapp::multi_index
via warmuprow
to reduce vRam latency by attempting to load all required data in a single action
update coldtoken unit tests to reflect new decrease in latency
moved nodeos.log to /logs folder
tail last 1mb of nodeos.log folder to keep upon restarting zeus test
flag ipfsentries as pending commit to prevent duplicate requests
If a contract uses a shardbucket multiple times, it will only have unique commits
If multiple actions in the same block (or prior to the xcommit
) need to lookup the same shardbucket, there will be a single unique commit, and no additional warmups required
If a contract uses a delayed commit, this delayed commit won’t be overwritten by an immediate commit
update eosio.cdt to default to 1.6.3 if not installed
add zeus box create
and zeus box add
commands
add --sidechains ['{sidechain_provider:"dspnameeeeee",service_contract:"ipfservice2",nodeos_endpoint:"https://api.jungle.alohaeos.com:443",active_key:""}','{ ... another sidechain object }']
option to zeus register dapp-service-provider-package"
to regprovider with sidechains
add zeus compile --sidechain=mychainnamee
flag to compile a side chain name when using liquidx
use gateway port (3115) instead of service port (e.g. 13112
oracles) when running local zeus tests
add liquidjungle
box with /models/liquid-mappings
for DSP files, service files, and the dappservices
:dappservicex
mapping as well as /models/eosio-chains
liquidjungle.json
chain config file
add dappservicex
(DAPP service contract for new chain) and liquidx
(DAPP service contract for EOS mainnet)
rename all instances of local-sidechains
to eosio-chains
update eos to default to 1.8.7 if not installed
fixes
update example frontend to eosjs2 and latest scatter
update cleanup script to work with new dsp logic
add CONTRACT_END syntax to example contract
fix cardgame unit test
use dapp-client for vaccounts
move xvinit for vaccounts to happen in migration
add xvinit to coldtoken contract
update to eosj2
fix chess.json to enable migration by updating contract / account
fix OSX zeus deploy box
breaking issue
remove prints from vaccount code to prevent required service
error
remove all-dapp-services
box from templates-emptycontract-eos-cpp
(zeus create contract)
Remove Babel as a dependency from zeus-cmd and all zeus boxes
add sub prefix to local unit test localenv files, i.e., 20-eos-local-dapp-services.js → 20-a-eos-local-dapp-services.js
, 20-eos-local-sidechains-dapp-services.js → 20-b-eos-eosio-chains-dapp-services.js
add keysize
as argument for get vram row command, options: 64 (uint64_t), 128 (uint128_t), 256 (uint256_t) and hex (eosio::checksum256)
add support for vconfig
file, warmuprow
and cleanuprow
actions in node logic to support faster data warmups
fixes
add fix text encode/decode in vaccounts service
removed read-mode = head
from default config.ini
setup for eosio node
clarified wasm-runtime = wabt
must be used over wasm-runtime = wavm
due to bugs in wavm
update path for cleanup.js
script for DSPs
added usage docs for get-table
and get-ordered-keys
update eos 1.8.7 nodeos
update vram getting started section with new get-table-row
syntax
add info on how to save load and clear a dapp::multi_index
table
add macros
section to developer docs
add docs/liquidx/add-a-chain
section
add docs/liquidx/become-a-dsp
section
add docs/liquidx/getting-started
section
add docs/liquidx/use-services
section
add usagex for LiquidX and other off chain service billing LiquidStorage, LiquidLens, LiquidAuth
contract pays for CPU/NET/RAM associated with xactions xwarmup
, xsignal
, xcommit
, xdcommit
, xvexec
, etc
fixes
add DAPP token assertion to regpkg
command to ensure DAPP symbol and 4 decimals of precision used
add --type=local
flag to zeus deploy box
command: deploys boxes locally to ~/.zeus/boxes/
instead of IPFS
or s3
. Must use with the --update-mapping
flag. Together both flags (zeus deploy box --type=local --update-mapping
) updates the mapping.json
file with file://
.. as the pointer |
only use invalidation of ipfs with zeus deploy box
command when the --type
is ipfs
|
add zeus compile <CONTRACT_NAME>
syntax to
add cleanup oracle info to
fixed little mistakes in
update chain-state-db-size-mb
from 131072
to 16384
see
update cardgame link to: