LiquidApps Documentation
  • Introduction
  • 🧙‍♂️The DAPP Network
    • The DAPP Token
      • DAPP Token Overview
      • DAPP Tokens Tracks
      • Claiming DAPP Tokens
      • DAPP Tokens Distribution
      • Air-HODL
    • Cross Chain Bridges
    • Examples
      • Token bridge
      • Price Feed
      • Elemental Battles
      • LiquidChess
      • LiquidPortfolio
    • DAPP Network Resources
      • @liquidapps/dapp-client
        • vRAM
        • LiquidAccounts
        • DAPP Services
        • Air-Hodl
      • eosio-push-guarantee
      • Link Library
        • EOSIO Link
          • Tables
          • Crons
          • Macros
          • Variables
        • EVM Link - Solidity (Coming Soon)
  • ⚡Working with Zeus
    • Introduction
      • Requirements
      • Install Zeus and Unboxing
        • More on zeus-box.json
      • Get Started fast! (Zeus-IDE)
      • Docker CI/CD
      • Example Github Using Zeus
      • Getting started with AntelopeIO Contracts (formerly EOSIO)
    • Zeus Basics
      • Compiling Contracts
        • Clean CMake Files
      • Unit Testing
        • Printing Console
        • Fetching Table
        • Helper Functions
        • Example
      • Create ...
        • Contract/Unit Test
          • All DAPP Network Services
        • DSP Service
        • Contract Deployment
      • Import/Export Keys
      • Migrate Contract
      • Start local environment
        • Kill Services
      • Upgrade
      • Zeus RC File
      • Zeus Config File
    • Zeus Box Basics
      • Zeus Boxes Directory
        • Services
          • Oracles
        • Sample Boxes
        • Other Boxes
          • DAPP Network
          • SDKs
            • ETH-SDK
            • EOS SDK
          • Frontends
          • Extensions
          • Tests
          • Seeds
          • Microservices
          • Meta Boxes
          • Libraries
          • Game
          • EOS Framework
          • Economics
          • Templates
      • Add/Remove
      • Deploy
      • List Boxes
  • ⚙️DAPP Network Services
    • DAPP Network Services
      • vRAM
        • Getting Started Guide
          • Compile and Deploy
          • Staking for services
          • Test
          • Basic implementation
        • Smart Contract Macros
          • dapp::multi_index
        • Tools
          • DAPP Client Integration
            • get_vram_row
          • Zeus Commands
          • Scripts
            • Get table
            • Get ordered keys
        • Additional Features
          • Save load and reset dapp::multi_index data
          • Advanced Features
      • LiquidAccounts
        • Getting Started Guide
          • Compile and Deploy
          • Staking for services
          • Test
            • DAPP Client
          • Basic Implementation
          • DAPP Account
        • Smart Contract Macros
          • payload
          • VACCOUNTS_APPLY
          • require_vaccount
          • VACCOUNTS_DELAYED_CLEANUP
        • Tools
          • DAPP Client Integration
            • push_liquid_account_transaction
          • Zeus Commands
            • Zeus vaccounts push-action
          • Scripts
            • Deserialize Payload
        • Use between contracts
        • Use Between Chains
      • LiquidHarmony
        • Getting Started Guide
          • Compile and Deploy
          • Staking for services
          • Test
          • Basic Implementation
          • API DSP Key Storage
        • Smart Contract Macros
          • geturi
          • ORACLE_HOOK_FILTER
        • Creating an Oracle Request
          • HTTP/HTTPS GET/POST JSON
            • HTTP/HTTPS GET
            • HTTP/HTTPS GET JSON
            • HTTP/HTTPS POST
            • HTTP/HTTPS POST JSON
          • ECHO GET/POST JSON
            • ECHO GET
            • ECHO GET JSON
            • ECHO POST
            • ECHO POST JSON
          • Nodeos History Get
          • Sister Chain Fetch
            • sister_chain_block
            • sister_chain_history
            • sister_chain_info
            • sister_chain_last_irreversible
            • sister_chain_table_row
          • Foreign Chain Fetch
            • ethereum
              • endpoints
              • block_number
              • history
              • balance
              • storage
            • tron
              • endpoints
              • balance
              • block_number
              • block
              • transactions
              • transaction
            • cardano
              • endpoints
              • blocks
              • history
              • state
            • ripple
              • endpoints
              • balance
              • ledger
              • transactions
            • bitcoin
              • endpoints
              • balance
              • block
              • history
              • transaction
            • litecoin
              • endpoints
              • balance
              • block
              • history
              • transaction
            • bitcoin cash
              • endpoints
              • balance
              • block
              • history
              • transaction
          • Wolfram Alpha
          • Random Number
          • Stockfish
          • SQL
        • Additional Features
          • Pre geturi hook
          • Don't spend CPU condition
      • LiquidScheduler
        • Getting Started Guide
          • Compile and Deploy
          • Staking for Services
          • Basic Implementation
        • Smart Contract Macros
          • schedule_timer
          • remove_timer
          • timer_callback
          • start_interval
          • remove_interval
        • Additional Features
          • Don't spend CPU condition
      • LiquidStorage
        • Getting Started Guide
          • Compile and Deploy
          • Staking for Services
          • Test
          • Basic Implementation
        • Tools
          • Zeus Commands
            • zeus storage upload
            • zeus storage unpin
          • DAPP Client Integration
            • get_uri
            • unpin_public_file
            • upload_archive_to_liquidstorage
            • upload_file_to_liquidstorage
            • upload_public_file_from_vaccount
        • Example GET Static Web Page
      • LiquidLink
        • Getting Started Guide
          • Compile and Deploy
          • Staking for services
          • Test
          • Basic Implementation
        • Smart Contract Macros
          • svc_sign_signtrx
      • LiquidAuth
        • Getting Started Guide
          • Compile and Deploy
          • Staking for services
          • Test
          • Basic Implementation
        • Tools
          • DAPP Client Integration
            • invokeAuthedCall
      • DAPP Service Macros
        • CONTRACT_START
        • CONTRACT_END
        • DAPPSERVICES_ACTIONS
        • DAPPSERVICE_ACTIONS_COMMANDS
      • Additional Services
      • Smart Contract Console Log Syntax
      • Using on_notify with services
    • Packages and Staking
  • 👨‍🚀DAPP Service Providers
    • Introduction to DAPP Service Providers
    • DSPs
      • Architecture Overview
      • Setup DSP
        • Blockchain Account
        • EOSIO Node
          • Firehose Setup
        • IPFS
          • Adding peers
            • Reconnecting Peers Periodically
          • Bootsrapping from an existing IPFS Cluster
          • Running a private network
        • PostgreSQL Database Backend
          • How to wipe local database
        • Ethereum Virtual Machine Node Setup
        • DSP Node
          • Logs
            • Monitor all logs script
        • Register Package
          • Modify Package metadata
          • Enable/Disable Package
          • Update cost per action in QUOTA
          • More on Packages
          • Whitelist Stakers
        • Test Setup
        • Known attack vectors
      • DSP Maintenance
        • Upgrade DSP Node
        • Claim Rewards
        • Replay Contract
        • Cleanup IPFS and Oracle Entries
        • Consumer Pays CPU Permissions
      • DSP API Endpoints
        • Event
        • Version
        • vRAM
        • LiquidLink
        • LiquidStorage
        • LiquidAccounts
  • 👨‍💻DAPP NETWORK LABS
    • Introduction
    • DAPP Workers
    • EdgeDSPs
    • EdgeOS
  • 🌉CROSS CHAIN BRIDGES
    • Getting Started with LiquidBridge
      • EOSIO.token <> EOSIO.token Fungible Tokens
      • EOSIO.token <> ERC20 Fungible Tokens
        • EOSIO Side Setup
        • EVM Side Setup
          • Setup EVM Contracts
            • Setup EVM Token Contract
              • Initialize Token and Transfer Ownership
            • Setup EVM Tokenpeg Contract
            • Verify and Publish Source Code
              • token contract and overview
              • tokenpeg contract
        • Initialize EOSIO Side
        • Test bridge
      • EOSIO <> EOSIO Atomic Assets Non-Fungible Tokens
      • EOSIO Atomic Assets <> ERC721 Non-Fungible Tokens
        • EOSIO Side Setup
        • EVM Side Setup
          • Setup EVM ERC721 Contract
          • Setup EVM Atomictokenpeg Contract
          • Transfer Ownership
          • Verify Source Code
        • Initialize EOSIO Side
        • Test bridge
      • EOSIO Atomic Assets <> ERC1155 Non-Fungible Tokens
        • EOSIO Side Setup
        • EVM Side Setup
          • Setup Proxy Contract
          • Setup EVM ERC1155 Contract
          • Setup EVM ERC1155 Tradeable Contract
          • Transfer Ownership of ERC1155 contract to atomictokenpeg1155 contract
        • Initialize EOSIO Side
        • Test bridge
  • ⛓️LiquidX Stake Across Chains
    • Getting Started with LiquidX
      • Use DAPP Network Services
        • Smart Contract Steps
        • Add DSP on New Chain
        • Map Mainnet to New Chain
        • Map New Chain to Mainnet
      • Become a DSP on another chain
        • Editing config.toml file
        • Push DSP account mapping action
      • Example Chains to Add
        • CoVax
        • WAX
        • WAX Test
        • Telos
        • Telos Test
        • BOS
      • Add a Chain to LiquidX
        • Create accounts and set dappservicex contract
        • Register chain
  • 😷COVAX
    • Getting Started with CoVax Chain
      • Become a DAPP Service Provider
      • Become a Block Producer
  • 🗂️Blockchain Guides
    • Testnet Creation Guides
      • Create Binance Smart Chain Testnet Account
        • Add Binance Smart Chain Testnet Network to Metamask
        • Create EVM keypair
        • Get faucet funds
      • Create WAX Testnet Account
      • Creating Jungle 3 account
      • Create Mumbai Testnet Account (Matic-Polygon)
        • Get faucet funds
      • Creating CryptoKylin Account
      • Create Rinkeby Testnet Account
        • Change Metamask network to Rinkeby
        • Get faucet funds
    • Governance Guides
      • How to submit a proposal
      • How the Proposal System Works
      • Governance Rewards
      • How to Propose an MSIG
      • Update dappservices contract by msig
      • Setup MSIG Telegram Bot
      • Governance Contracts
      • Governance Frontend
      • Propose Payment by Msig
  • 🗒️Release Notes
    • Latest
    • History
      • 2.0.8191
      • 2.0.7966
      • 2.0.7931
      • 2.1.7848
      • 2.0.7735
      • 2.0.7661
      • 2.0.7644
      • 2.0.7622
      • 2.1.7420
      • 2.1.7301
      • 2.1.7111
      • 2.0.6808
      • 2.0.5328
      • 2.0.4719
      • 2.0.4002
      • 2.0.3107
      • 2.0.2812
      • 2.0.2527
  • 🙋‍♀️FAQs
    • Frequently Asked Questions The DAPP Token
    • Frequently Asked Questions DAPP Service Providers (DSPs)
    • Frequently Asked Questions vRAM
Powered by GitBook
On this page
  • 2.0.4002
  • LiquidVRAM Service
  • @liquidapps/dsp - 2.0.4002-latest
  • @liquidapps/zeus-cmd - 2.0.4002
  • @liquidapps/dapp-client - 2.0.4002
  • docs
  • dappservices contract

Was this helpful?

  1. Release Notes
  2. History

2.0.4002

Previous2.0.4719Next2.0.3107

Last updated 4 years ago

Was this helpful?

2.0.4002

  • 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

- 2.0.4002-latest

  • 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

- 2.0.4002

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 |

- 2.0.4002

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:

🗒️
LiquidVRAM Service
@liquidapps/dsp
@liquidapps/zeus-cmd
thank you prcolaco
thank you prcolaco
@liquidapps/dapp-client
docs
zeus-getting-started
Cleanup IPFS and Oracle Entries
vram-getting-started
here
http://elemental.liquidapps.io/
dappservices contract