Class AlgodClient
- java.lang.Object
-
- com.algorand.algosdk.v2.client.common.Client
-
- com.algorand.algosdk.v2.client.common.AlgodClient
-
public class AlgodClient extends Client
-
-
Constructor Summary
Constructors Constructor Description AlgodClient(String host, int port, String token)Construct an AlgodClient for communicating with the REST API.AlgodClient(String host, int port, String token, String tokenKey)Construct an AlgodClient with custom token key for communicating with the REST API.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AccountApplicationInformationAccountApplicationInformation(Address address, Long applicationId)Given a specific account public key and application ID, this call returns the account's application local state and global state (AppLocalState and AppParams, if either exists).AccountAssetInformationAccountAssetInformation(Address address, Long assetId)Given a specific account public key and asset ID, this call returns the account's asset holding and asset parameters (if either exist).AccountInformationAccountInformation(Address address)Given a specific account public key, this call returns the account's status, balance and spendable amounts /v2/accounts/{address}GetApplicationBoxByNameGetApplicationBoxByName(Long applicationId)Given an application ID and box name, it returns the round, box name, and value (each base64 encoded).GetApplicationBoxesGetApplicationBoxes(Long applicationId)Given an application ID, return all Box names.GetApplicationByIDGetApplicationByID(Long applicationId)Given a application ID, it returns application information including creator, approval and clear programs, global and local schemas, and global state.GetAssetByIDGetAssetByID(Long assetId)Given a asset ID, it returns asset information including creator, name, total supply and special addresses.GetBlockGetBlock(Long round)Get the block for the given round.GetBlockHashGetBlockHash(Long round)Get the block hash for the block on the given round.GetBlockLogsGetBlockLogs(Long round)Get all of the logs from outer and inner app calls in the given round /v2/blocks/{round}/logsGetBlockTimeStampOffsetGetBlockTimeStampOffset()Gets the current timestamp offset.GetBlockTxidsGetBlockTxids(Long round)Get the top level transaction IDs for the block on the given round.GetGenesisGetGenesis()Returns the entire genesis file in json.GetLedgerStateDeltaGetLedgerStateDelta(Long round)Get ledger deltas for a round.GetLedgerStateDeltaForTransactionGroupGetLedgerStateDeltaForTransactionGroup(String id)Get a ledger delta for a given transaction group.GetLightBlockHeaderProofGetLightBlockHeaderProof(Long round)Gets a proof for a given light block header inside a state proof commitment /v2/blocks/{round}/lightheader/proofGetPendingTransactionsGetPendingTransactions()Get the list of pending transactions, sorted by priority, in decreasing order, truncated at the end at MAX.GetPendingTransactionsByAddressGetPendingTransactionsByAddress(Address address)Get the list of pending transactions by address, sorted by priority, in decreasing order, truncated at the end at MAX.GetReadyGetReady()Returns OK if healthy and fully caught up.GetStateProofGetStateProof(Long round)Get a state proof that covers a given round /v2/stateproofs/{round}GetStatusGetStatus()Gets the current node status.GetSupplyGetSupply()Get the current supply reported by the ledger.GetSyncRoundGetSyncRound()Gets the minimum sync round for the ledger.GetTransactionGroupLedgerStateDeltasForRoundGetTransactionGroupLedgerStateDeltasForRound(Long round)Get ledger deltas for transaction groups in a given round.GetTransactionProofGetTransactionProof(Long round, String txid)Get a proof for a transaction in a block.GetVersionGetVersion()Retrieves the supported API versions, binary build versions, and genesis information.HealthCheckHealthCheck()Returns OK if healthy.MetricsMetrics()Return metrics about algod functioning.PendingTransactionInformationPendingTransactionInformation(String txid)Given a transaction ID of a recently submitted transaction, it returns information about it.RawTransactionRawTransaction()Broadcasts a raw transaction or transaction group to the network.SetBlockTimeStampOffsetSetBlockTimeStampOffset(Long offset)Sets the timestamp offset (seconds) for blocks in dev mode.SetSyncRoundSetSyncRound(Long round)Sets the minimum sync round on the ledger.SimulateTransactionSimulateTransaction()Simulates a raw transaction or transaction group as it would be evaluated on the network.SwaggerJSONSwaggerJSON()Returns the entire swagger spec in json.TealCompileTealCompile()Given TEAL source code in plain text, return base64 encoded program bytes and base32 SHA512_256 hash of program bytes (Address style).TealDisassembleTealDisassemble()Given the program bytes, return the TEAL source code in plain text.TealDryrunTealDryrun()Executes TEAL program(s) in context and returns debugging information about the execution.TransactionParamsTransactionParams()Get parameters for constructing a new transaction /v2/transactions/paramsUnsetSyncRoundUnsetSyncRound()Unset the ledger sync round.WaitForBlockWaitForBlock(Long round)Waits for a block to appear after round {round} and returns the node's status at the time.-
Methods inherited from class com.algorand.algosdk.v2.client.common.Client
executeCall, getHost, getHttpUrl, getPort
-
-
-
-
Constructor Detail
-
AlgodClient
public AlgodClient(String host, int port, String token)
Construct an AlgodClient for communicating with the REST API.- Parameters:
host- using a URI format. If the scheme is not supplied the client will use HTTP.port- REST server port.token- authentication token.
-
AlgodClient
public AlgodClient(String host, int port, String token, String tokenKey)
Construct an AlgodClient with custom token key for communicating with the REST API.- Parameters:
host- using a URI format. If the scheme is not supplied the client will use HTTP.port- REST server port.token- authentication token.tokenKey- authentication token key.
-
-
Method Detail
-
HealthCheck
public HealthCheck HealthCheck()
Returns OK if healthy. /health
-
GetReady
public GetReady GetReady()
Returns OK if healthy and fully caught up. /ready
-
Metrics
public Metrics Metrics()
Return metrics about algod functioning. /metrics
-
GetGenesis
public GetGenesis GetGenesis()
Returns the entire genesis file in json. /genesis
-
SwaggerJSON
public SwaggerJSON SwaggerJSON()
Returns the entire swagger spec in json. /swagger.json
-
GetVersion
public GetVersion GetVersion()
Retrieves the supported API versions, binary build versions, and genesis information. /versions
-
AccountInformation
public AccountInformation AccountInformation(Address address)
Given a specific account public key, this call returns the account's status, balance and spendable amounts /v2/accounts/{address}
-
AccountAssetInformation
public AccountAssetInformation AccountAssetInformation(Address address, Long assetId)
Given a specific account public key and asset ID, this call returns the account's asset holding and asset parameters (if either exist). Asset parameters will only be returned if the provided address is the asset's creator. /v2/accounts/{address}/assets/{asset-id}
-
AccountApplicationInformation
public AccountApplicationInformation AccountApplicationInformation(Address address, Long applicationId)
Given a specific account public key and application ID, this call returns the account's application local state and global state (AppLocalState and AppParams, if either exists). Global state will only be returned if the provided address is the application's creator. /v2/accounts/{address}/applications/{application-id}
-
GetPendingTransactionsByAddress
public GetPendingTransactionsByAddress GetPendingTransactionsByAddress(Address address)
Get the list of pending transactions by address, sorted by priority, in decreasing order, truncated at the end at MAX. If MAX = 0, returns all pending transactions. /v2/accounts/{address}/transactions/pending
-
GetBlock
public GetBlock GetBlock(Long round)
Get the block for the given round. /v2/blocks/{round}
-
GetBlockTxids
public GetBlockTxids GetBlockTxids(Long round)
Get the top level transaction IDs for the block on the given round. /v2/blocks/{round}/txids
-
GetBlockHash
public GetBlockHash GetBlockHash(Long round)
Get the block hash for the block on the given round. /v2/blocks/{round}/hash
-
GetTransactionProof
public GetTransactionProof GetTransactionProof(Long round, String txid)
Get a proof for a transaction in a block. /v2/blocks/{round}/transactions/{txid}/proof
-
GetBlockLogs
public GetBlockLogs GetBlockLogs(Long round)
Get all of the logs from outer and inner app calls in the given round /v2/blocks/{round}/logs
-
GetSupply
public GetSupply GetSupply()
Get the current supply reported by the ledger. /v2/ledger/supply
-
GetStatus
public GetStatus GetStatus()
Gets the current node status. /v2/status
-
WaitForBlock
public WaitForBlock WaitForBlock(Long round)
Waits for a block to appear after round {round} and returns the node's status at the time. There is a 1 minute timeout, when reached the current status is returned regardless of whether or not it is the round after the given round. /v2/status/wait-for-block-after/{round}
-
RawTransaction
public RawTransaction RawTransaction()
Broadcasts a raw transaction or transaction group to the network. /v2/transactions
-
SimulateTransaction
public SimulateTransaction SimulateTransaction()
Simulates a raw transaction or transaction group as it would be evaluated on the network. The simulation will use blockchain state from the latest committed round. /v2/transactions/simulate
-
TransactionParams
public TransactionParams TransactionParams()
Get parameters for constructing a new transaction /v2/transactions/params
-
GetPendingTransactions
public GetPendingTransactions GetPendingTransactions()
Get the list of pending transactions, sorted by priority, in decreasing order, truncated at the end at MAX. If MAX = 0, returns all pending transactions. /v2/transactions/pending
-
PendingTransactionInformation
public PendingTransactionInformation PendingTransactionInformation(String txid)
Given a transaction ID of a recently submitted transaction, it returns information about it. There are several cases when this might succeed: - transaction committed (committed round > 0) - transaction still in the pool (committed round = 0, pool error = "") - transaction removed from pool due to error (committed round = 0, pool error != "") Or the transaction may have happened sufficiently long ago that the node no longer remembers it, and this will return an error. /v2/transactions/pending/{txid}
-
GetLedgerStateDelta
public GetLedgerStateDelta GetLedgerStateDelta(Long round)
Get ledger deltas for a round. /v2/deltas/{round}
-
GetTransactionGroupLedgerStateDeltasForRound
public GetTransactionGroupLedgerStateDeltasForRound GetTransactionGroupLedgerStateDeltasForRound(Long round)
Get ledger deltas for transaction groups in a given round. /v2/deltas/{round}/txn/group
-
GetLedgerStateDeltaForTransactionGroup
public GetLedgerStateDeltaForTransactionGroup GetLedgerStateDeltaForTransactionGroup(String id)
Get a ledger delta for a given transaction group. /v2/deltas/txn/group/{id}
-
GetStateProof
public GetStateProof GetStateProof(Long round)
Get a state proof that covers a given round /v2/stateproofs/{round}
-
GetLightBlockHeaderProof
public GetLightBlockHeaderProof GetLightBlockHeaderProof(Long round)
Gets a proof for a given light block header inside a state proof commitment /v2/blocks/{round}/lightheader/proof
-
GetApplicationByID
public GetApplicationByID GetApplicationByID(Long applicationId)
Given a application ID, it returns application information including creator, approval and clear programs, global and local schemas, and global state. /v2/applications/{application-id}
-
GetApplicationBoxes
public GetApplicationBoxes GetApplicationBoxes(Long applicationId)
Given an application ID, return all Box names. No particular ordering is guaranteed. Request fails when client or server-side configured limits prevent returning all Box names. /v2/applications/{application-id}/boxes
-
GetApplicationBoxByName
public GetApplicationBoxByName GetApplicationBoxByName(Long applicationId)
Given an application ID and box name, it returns the round, box name, and value (each base64 encoded). Box names must be in the goal app call arg encoding form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'. /v2/applications/{application-id}/box
-
GetAssetByID
public GetAssetByID GetAssetByID(Long assetId)
Given a asset ID, it returns asset information including creator, name, total supply and special addresses. /v2/assets/{asset-id}
-
UnsetSyncRound
public UnsetSyncRound UnsetSyncRound()
Unset the ledger sync round. /v2/ledger/sync
-
GetSyncRound
public GetSyncRound GetSyncRound()
Gets the minimum sync round for the ledger. /v2/ledger/sync
-
SetSyncRound
public SetSyncRound SetSyncRound(Long round)
Sets the minimum sync round on the ledger. /v2/ledger/sync/{round}
-
TealCompile
public TealCompile TealCompile()
Given TEAL source code in plain text, return base64 encoded program bytes and base32 SHA512_256 hash of program bytes (Address style). This endpoint is only enabled when a node's configuration file sets EnableDeveloperAPI to true. /v2/teal/compile
-
TealDisassemble
public TealDisassemble TealDisassemble()
Given the program bytes, return the TEAL source code in plain text. This endpoint is only enabled when a node's configuration file sets EnableDeveloperAPI to true. /v2/teal/disassemble
-
TealDryrun
public TealDryrun TealDryrun()
Executes TEAL program(s) in context and returns debugging information about the execution. This endpoint is only enabled when a node's configuration file sets EnableDeveloperAPI to true. /v2/teal/dryrun
-
GetBlockTimeStampOffset
public GetBlockTimeStampOffset GetBlockTimeStampOffset()
Gets the current timestamp offset. /v2/devmode/blocks/offset
-
SetBlockTimeStampOffset
public SetBlockTimeStampOffset SetBlockTimeStampOffset(Long offset)
Sets the timestamp offset (seconds) for blocks in dev mode. Providing an offset of 0 will unset this value and try to use the real clock for the timestamp. /v2/devmode/blocks/offset/{offset}
-
-