Русский | English
  • latest
  • v. 1.15.0
  • v. 1.14.0
  • v. 1.13.0
  • v. 1.12.3
  • v. 1.12.2
  • v. 1.12.1
  • v. 1.12.0
  • v. 1.11.0
  • v. 1.8.4
  • v. 1.8.2
  • v. 1.8.0
  • v. 1.7.3
  • v. 1.7.2
  • v. 1.7.0
  • v. 1.6.2
  • v. 1.6.0
  • v. 1.5.2
  • v. 1.5.0
  • v. 1.4.0
  • v. 1.3.1
  • v. 1.3.0
  • v. 1.2.3
  • v. 1.2.2
  • v. 1.2.0
  • v. 1.1.2
  • v. 1.1.0
  • v. 1.0.0

Platform installation and usage

  • System requirements
    • Environment requirements for the Waves Enterprise blockchain platform
      • Installing CryptoPro CSP license
  • Licenses of the Waves Enterprise blockchain platform
    • License types
    • License usage
    • Duration of licenses
  • Deploying the platform in the trial mode (Sandbox)
    • Platform installation
    • Further actions
      • Sandbox mode of the platform: fixing issues
  • Deploying a platform with connection to Mainnet
    • Account creation, token transfer and confirming transaction
    • Node deployment
    • Node connection to the Mainnet
      • Mainnet fees
      • Node update in the Mainnet
      • Mainnet: fixing issues
  • Deployment of the platform in a private network
    • Creation of a node account
    • Platform configuration for operation in a private network
      • General platform configuration: cryptography
      • General platform configuration: consensus algorithm
        • type = "pos" or the commented consensus block
        • type = "poa"
        • type = "cft"
      • General platform configuration: execution of smart contracts
        • Docker smart contracts execution configuration
        • WASM smart contracts execution configuration
      • General platform configuration: mining
        • Mining settings and consensus algorithm
        • UTX settings
      • Precise platform configuration: gRPC and REST API authorization
        • type = "api-key"
        • type = "oauth2"
      • Precise platform configuration: node gRPC and REST API configuration
        • rest { } block
        • grpc { } block
      • Precise platform configuration: TLS
        • Example of how to prepare artefacts for TLS
        • tls section of the node configuration file
      • Precise platform configuration: confidential data groups configuration
        • Choosing the database
        • storage block
        • replier block
        • inventory-handler block
        • cache block
        • synchronizer block
        • service block
      • Precise platform configuration: logging
        • Log storage
        • Logging management
        • List of loggers
      • Precise platform configuration: anchoring
        • Anchoring parameters
        • Authorization parameters for anchoring
        • Targetnet access parameters
        • Key pair file parameters for signing anchoring transactions in Targetnet (wallet section)
        • Fee parameters
      • Precise platform configuration: snapshot
      • Precise platform configuration: node in the watcher mode
        • Configuration
      • Precise platform configuration: setting the fee for the transactions sent to the blockchain
        • Zero fee
    • Obtaining a private network license and associated files
    • Genesis block signing
    • Launching the network
    • Attaching the Client application to the private network
  • Examples of node configuration files
    • node.conf
    • accounts.conf
    • api-key-hash.conf
    • Additional examples
  • System errors
  • gRPC tools
    • Preconfiguring the gRPC interface
    • What the gRPC interface is for
      • gRPC: monitoring of blockchain events
        • Information about events
        • Information about errors
      • gRPC: obtaining node information
        • gRPC: obtaining node configuration parameters
        • gRPC: retrieving data about the node owner
      • gRPC: obtaining information on a smart contract
      • gRPC: obtaining information on the results of the execution of a smart contract call
        • Information on the results of the execution of a smart contract call
      • gRPC: obtaining information about UTX pool size
      • gRPC: retrieving certificates
        • Authorization of methods for obtaining certificates
        • Retrieving a certificate by its DN
        • Retrieving a certificate by its DN hash
        • Retrieving a certificate by its public key
        • Retrieving a certificate by its fingerprint
      • gRPC: handling transactions
        • Sending transactions into the blockchain
        • Retrieving data from a transaction
        • Retrieving data from a transaction that is in the UTX pool
      • gRPC: handling confidential data
        • PrivacyEventsService and PrivacyPublicService methods authorization
        • PrivacyEventsService
        • PrivacyPublicService
      • gRPC: transfer of confidential smart contract data
        • ConfidentialCall
        • ConfidentialExecutedTxByExecutableTxId
        • GetContractKeys
      • gRPC: retrieving auxiliary information
        • Obtaining the current node time
      • gRPC: information about network participants
        • gRPC: information about the network members’ addresses
        • gRPC: retrieving information about network participants by alias
  • REST API methods
    • REST API usage
    • What the platform REST API is for
      • REST API: transactions
        • Signing and sending transactions
        • Information about transactions
      • REST API: retrieving certificates
        • /pki/certificate group methods authorization
        • GET /pki/certificate/by-dn/%percent-encoded-DN%
        • GET /pki/certificate/by-dn-hash/%DN-hash-string%
        • GET /pki/certificate/by-public-key/%public-key-base58%
        • GET /pki/certificate/by-fingerprint/%fingerprint-base64%
      • REST API: encryption and decryption methods
        • POST /crypto/encryptSeparate
        • POST /crypto/encryptCommon
        • POST /crypto/decrypt
      • REST API: confidential data exchange and obtaining of information about confidential data groups
        • Privacy group methods authorization
        • POST /privacy/sendData
        • POST /privacy/sendDataV2
        • POST /privacy/sendLargeData
        • GET /privacy/{policy-id}/recipients
        • GET /privacy/{policy-id}/owners
        • GET /privacy/{policy-id}/hashes
        • GET /privacy/{policyId}​/getData/{policyItemHash}
        • GET /privacy/{policyId}/getLargeData/{policyItemHash}
        • GET /privacy/%policyId%/transactions
        • GET ​/privacy​/{policyId}​/getInfo​/{policyItemHash}
        • POST /privacy/forceSync
        • GET /privacy/forceSync/{policyId}
        • POST /privacy/getInfos
      • REST API: node licenses
        • GET /licenses
        • GET /licenses/status
        • POST /licenses/upload
        • DELETE ​/licenses​/{license_id}
      • REST API: validation of addresses and aliases of network participants
        • GET /addresses/validate/{addressOrAlias}
        • POST /addresses/validateMany
      • REST API: signing and validating messages in the blockchain
        • POST /addresses/sign/{address}
        • POST /addresses/verify/{address}
        • POST /addresses/signText/{address}
        • POST /addresses/verifyText/{address}
      • REST API: information about configuration and state of the node, stopping the node
        • node group:
        • anchoring group:
      • REST API: information about network participants
        • addresses group
        • alias group
        • leasing group
      • REST API: information about activation of the platform features
        • GET /activation/status
      • REST API: information about a consensus algorithm in use
        • GET consensus/algo
        • GET consensus/settings
        • GET consensus/minersAtHeight/{height}
        • GET consensus/miners/{timestamp}
        • GET consensus/bannedMiners/{height}
        • GET consensus/basetarget/{signature}
        • GET consensus/basetarget
        • GET consensus/generatingbalance/{address}
        • GET consensus/generationsignature/{signature}
        • GET consensus/generationsignature
      • REST API: information about smart contracts
        • GET /contracts
        • POST /contracts
        • GET /contracts/status/{id}
        • GET /contracts/{contractId}
        • POST /contracts/{contractId}
        • GET /contracts/executed-tx-for/{id}
        • GET /contracts/{contractId}/{key}
        • GET /contracts/balance/details/{ContractID}
        • GET /contracts/balance/{contractId}
        • GET /contracts/asset-balance/{contractId}/{assetId}
        • POST /contracts/asset-balances
      • REST API: working with confidential smart contracts
        • POST /confidential-contracts/call
        • GET ​/confidential-contracts/{contractId}
        • GET /confidential-contracts/tx/{executable-tx-id}
      • REST API: information about network blocks
        • GET blocks/height
        • GET blocks/height/{signature}
        • GET blocks/first
        • GET blocks/last
        • GET blocks/at/{height}
        • GET blocks/seq/{from}/{to}
        • GET blocks/seqext/{from}/{to}
        • GET blocks/signature/{signature}
        • GET blocks/address/{address}/{from}/{to}
        • GET blocks/child/{signature}
        • GET blocks/headers/at/{height}
        • GET blocks/headers/seq/{from}/{to}
        • GET blocks/headers/last
      • REST API: information about permissions of participants
        • GET permissions/{address}
        • GET permissions/{address}/at/{timestamp}
        • POST permissions/addresses
        • GET permissions/contract-validators
        • GET permissions/contract-validators/{height}
      • REST API: information about address assets and balances
        • GET assets/balance/{address}
        • GET assets/balance-v2/{address}
        • POST assets/balance
        • GET assets/balance/{address}/{assetId}
        • GET assets/details/{assetId}
        • GET assets/{assetId}/distribution
      • REST API: blockchain peers
        • POST /peers/connect
        • GET /peers/connected
        • GET /peers/all
        • GET /peers/suspended
        • POST /peers/identity
        • GET /peers/hostname/{address}
        • GET /peers/allowedNodes
      • REST API: hash calculation, working with scripts and sending auxiliary queries
        • Hashing: utils/hash
        • Working with scripts: utils/script
        • Auxiliary queries
      • REST API: blockchain debug
        • GET /debug​/blocks​/{howMany}
        • GET /debug​/info
        • POST /debug​/rollback
        • POST /debug​/validate
        • GET /debug​/minerInfo
        • GET /debug​/historyInfo
        • GET /debug​/configInfo
        • DELETE /debug​/rollback-to​/{signature}
        • GET /debug​/portfolios​/{address}
        • POST /debug​/print
        • GET /debug​/state
        • GET /debug​/stateWE​/{height}
  • Development and usage of smart contracts
    • Development and usage of Docker smart contracts
      • Preparation for development
      • Smart contract development
        • Example of a Docker smart contract with gRPC
        • Constructing smart contracts with JS Contract SDK
        • Constructing smart contracts with Java/Kotlin Contract SDK
        • WE Contract SDK (Java/Kotlin Contract SDK) Client
      • Uploading a smart contract into a registry
      • Installing a smart contract into the blockchain
      • Smart contract execution
    • Development and usage of WASM smart contracts
      • Preparation for development
        • Cargo-we installation
        • Creating a project
        • Building the project
      • WASM smart contract example – Flipper
      • CDK fundamentals
        • Types
        • Called functions
        • Contract constructor
        • Available functions
      • Main components of the we-cdk
        • crates/cargo-we
        • crates/cdk
        • crates/codegen
        • crates/proc-macro
        • examples
  • JavaScript SDK
    • How the JavaScript SDK works
      • Authorization in the blockchain
      • Seed phrase generation
      • Signing and sending transactions
      • Cryptographic node methods used by the JavaScript SDK
    • JS SDK installation and initialization
    • Creating and sending transactions with the use of the JS SDK
      • Principles of transaction creation
      • Broadcasting a transaction
    • Examples of JavaScript SDK usage
      • Token transfer (4)
      • Creation of a confidential data group (112)
      • Permission adding and removing (102)
      • Smart contract creation (103)
      • Smart contract call (104)
      • Atomic transaction (120)
      • Token issue/burning (3 / 6)
    • Using the JS SDK in a node with oAuth authorization
    • Variants of generation of a seed phrase and work with it in the JS SDK
      • 1. Creating a new randomized seed phrase
      • 2. Creating a seed phrase from an existing one
      • 3. Encrypting the seed phrase with a password and decrypting it
  • Confidential data exchange
    • Creating a confidential data group
    • Updating a confidential data group
    • Confidential data storage
    • Sending confidential data into the network
  • Role management
  • Connecting and removing nodes
    • Connecting a new node to a private network
    • Removing node from a private network
  • Node start with a snapshot

Technical description of the platform

  • Architecture
    • Platform arrangement
    • Arrangement of nodes and auxiliary services
  • Waves-NG blockchain protocol
    • Description of a mining round
    • Miner fee mechanism
    • Smart contract validators fee mechanism
    • Conflict resolution while generating blocks
  • Data immutability in a blockchain
  • Tokens of the Waves Enterprise blockchain platform
  • Connection of a new node to blockchain network
  • Activation of blockchain features
    • Voting parameters
    • Voting procedure
    • Usage of activated features
    • Preliminary activation of features
    • List of available feature identifiers
  • Anchoring
    • How the Waves Enterprise anchoring works
    • Anchoring data transaction structure
    • Errors that can occur during anchoring
  • Snapshooting
    • Components of the snapshooting mechanism
    • Generation and broadcasting of a snapshot in an operating blockchain
    • Snapshot REST API methods
    • Network messages
  • Smart contracts
    • Confidential smart contracts
      • Confidential smart contract data
        • Storage of confidential smart contract data
        • Control of confidential smart contract data integrity and its protection
      • Creation of a confidential smart contract
      • Confidential smart contract call
      • Updating confidential smart contracts
      • Obtaining confidential smart contract result
    • Docker Smart Contracts
      • Docker smart contract operation chart
      • Docker smart contracts limitations
      • Handling tokens from a Docker smart contract
      • Development and installation of Docker smart contracts
      • Calling a Docker smart contract and saving the results of its operation
      • Restriction of Docker smart contract calls
      • Updating Docker smart contracts
      • Docker smart contracts validation
      • Docker smart contracts parallel operation
      • API methods available for Docker smart contracts
        • gRPC services used by Docker smart contracts
    • WASM Smart contracts
      • General principles of WASM smart contract operation
      • WASM Smart contract operation chart
      • WASM smart contract development
      • Creating and calling a WASM smart contract
      • Capturing the results of WASM smart contract execution
      • Prohibiting WASM smart contract calls
      • Updating WASM smart contracts
      • WASM smart contracts validation
      • Parallel execution of WASM smart contracts
  • Smart Account
    • Creating an account script
      • Account script structure
        • Directive
        • Expression
    • Attaching an account script to an account
    • An example of creating and deploying an account script
      • Example Assumptions
      • Creating the account script
      • Converting the script to Base64 format
      • Attaching the script to the account
  • Transactions of the blockchain platform
    • Signing and sending of transactions
    • Processing of transactions in the blockchain
      • Description of transactions
        • 1. Genesis Transaction
        • 3. Issue Transaction
        • 4. Transfer Transaction
        • 5. Reissue Transaction
        • 6. Burn Transaction
        • 8. Lease Transaction
        • 9. LeaseCancel Transaction
        • 10. CreateAlias Transaction
        • 11. MassTransfer Transaction
        • 12. Data Transaction
        • 13. SetScript Transaction
        • 14. Sponsorship Transaction
        • 15. SetAssetScript Transaction
        • 101. GenesisPermission Transaction
        • 102. Permission Transaction
        • 103. CreateContract Transaction
        • 104. CallContract Transaction
        • 105. ExecutedContract Transaction
        • 106. DisableContract Transaction
        • 107. UpdateContract Transaction
        • 110. GenesisRegisterNode Transaction
        • 111. RegisterNode Transaction
        • 112. CreatePolicy Transaction
        • 113. UpdatePolicy Transaction
        • 114. PolicyDataHash Transaction
        • 120. Atomic Transaction
      • Actual versions of transactions
  • Atomic transactions
    • Processing of atomic transactions
    • Creating an atomic transaction
  • Consensus algorithms
    • LPoS consensus algorithm
      • Proof of Stake
        • Advantages over the Proof of Work (PoW)
      • Leased Proof of Stake
    • PoA consensus algorithm
      • Algorithm description
      • Synchronization of time between network hosts
      • Exclusion of inactive miners
      • Monitoring
    • CFT consensus algorithm
      • Algorithm description
      • Voting
        • Defining of round validators and their voting
        • Voting of current round miners
      • Mining features
      • Selecting a channel for synchronization
  • Cryptography
    • Hash coding
    • Electronic signature
    • Protecting confidential data
  • Permissions
    • Description of permissions
    • Permission management
  • Client
    • Use Ledger Nano Devices with Waves Enterprise Client
      • Introduction
      • Prerequisites
      • Install Waves Enterprise App on Ledger Device
      • Open Waves Enterprise App on Your Ledger Nano Device
      • Use Ledger Nano Device with Waves Enterprise App
      • Transferring tokens
    • Network stats
    • Explorer
    • Tokens
    • Contracts
      • Contract call
    • Data transfer
    • Network settings
    • Write to us
  • Generators
    • AccountsGeneratorApp
    • GenesisBlockGenerator
    • ApiKeyHash
  • Authorization and data services
    • Authorization service
      • Authorization service: authorization variants
        • Api-key string hash authorization
        • JWT token authorization
    • Data service
    • API methods of the integration services
      • REST API: authorization service methods
        • GET ​/status
        • POST ​/v1​/user
        • GET ​/v1​/user​/profile
        • POST ​/v1​/user​/address
        • GET /v1​/user​/address​/exists
        • POST ​/v1​/user​/password​/restore
        • POST ​/v1​/user​/password​/reset
        • GET ​/v1​/user​/confirm​/{code}
        • POST ​/v1​/user​/resendEmail
        • POST ​/v1​/auth​/login
        • POST ​/v1​/auth​/token
        • POST ​/v1​/auth​/refresh
        • GET​ /v1​/auth​/publicKey
      • REST API: methods of the data service
        • Assets method group
        • Blocks method group
        • Contracts method group
        • Privacy method group
        • Transactions method group
        • Users method group
        • Methods for obtaining of information about data transactions (12)
        • Leasing method group
        • Stats method group
        • Anchoring method group
        • Auxiliary methods of the data service
  • Differences between the opensource and the commercial versions of the Waves Enterprise blockchain platform
  • External components of the platform
    • External proprietary components of the platform
    • External open-source components of the platform

Feedback

  • Official resources and contacts
    • Blockchain platform official resources
    • How to contact with us

Additional Information

  • Glossary
  • What is new at Waves Enterprise
    • 1.16.0
    • 1.15.0
    • 1.14.0
    • 1.13.0
    • 1.12.3
    • 1.12.2
    • 1.12.1
    • 1.12.0
    • 1.11.0
    • 1.8.4
    • 1.8.2
    • 1.8.0
    • 1.7.3
    • 1.7.2
    • 1.7.0
    • 1.6.2
    • 1.6.0
    • 1.5.2
    • 1.5.0
    • 1.4.0
    • 1.3.1
    • 1.3.0
    • 1.2.3
    • 1.2.2
    • 1.2.0
    • 1.1.2
    • 1.1.0
    • 1.0.0
ДокументацияAPI
Документация в.pdf
Available under CC BY 4.0 license
Waves Enterprise
  • Index

Index

  • Access group
  • Account
  • Address
  • Alias
  • Anchoring
  • Asset
  • Atomic transaction
  • Authorization
  • Balance
  • Block
  • Blockchain
  • Consensus
  • Data crawler
  • Fee
  • Generating balance
  • Generator
  • Image
  • Key block
  • Leasing
  • License
  • Microblock
  • Migration
  • Miner
  • Mining
  • Node
  • Node update
  • Peer
  • Private key
  • Private network, sidechain
  • Public key
  • Public network
  • Rollback
  • Smart contract execution
  • Transaction broadcasting
  • Transaction signing
  • Validation
×

Нашли несоответствие?
Будем рады получить от вас развернутый отзыв!



Введите текст отзыва

Максимум - 4000 символов.

Эта статья была вам полезна?


Copyright Waves Enterprise, 2023

Version 1.1.2

Creative Commons License

This work is licensed under a Creative Commons Attribution 4.0 International License