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 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).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).AccountInformation
AccountInformation(Address address)
Given a specific account public key, this call returns the accounts status, balance and spendable amounts /v2/accounts/{address}GetApplicationBoxByName
GetApplicationBoxByName(Long applicationId)
Given an application ID and box name, it returns the round, box name, and value (each base64 encoded).GetApplicationBoxes
GetApplicationBoxes(Long applicationId)
Given an application ID, return all Box names.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.GetAssetByID
GetAssetByID(Long assetId)
Given a asset ID, it returns asset information including creator, name, total supply and special addresses.GetBlock
GetBlock(Long round)
Get the block for the given round.GetBlockHash
GetBlockHash(Long round)
Get the block hash for the block on the given round.GetBlockLogs
GetBlockLogs(Long round)
Get all of the logs from outer and inner app calls in the given round /v2/blocks/{round}/logsGetBlockTimeStampOffset
GetBlockTimeStampOffset()
Gets the current timestamp offset.GetBlockTxids
GetBlockTxids(Long round)
Get the top level transaction IDs for the block on the given round.GetGenesis
GetGenesis()
Returns the entire genesis file in json.GetLedgerStateDelta
GetLedgerStateDelta(Long round)
Get ledger deltas for a round.GetLedgerStateDeltaForTransactionGroup
GetLedgerStateDeltaForTransactionGroup(String id)
Get a ledger delta for a given transaction group.GetLightBlockHeaderProof
GetLightBlockHeaderProof(Long round)
Gets a proof for a given light block header inside a state proof commitment /v2/blocks/{round}/lightheader/proofGetPendingTransactions
GetPendingTransactions()
Get the list of pending transactions, sorted by priority, in decreasing order, truncated at the end at MAX.GetPendingTransactionsByAddress
GetPendingTransactionsByAddress(Address address)
Get the list of pending transactions by address, sorted by priority, in decreasing order, truncated at the end at MAX.GetReady
GetReady()
Returns OK if healthy and fully caught up.GetStateProof
GetStateProof(Long round)
Get a state proof that covers a given round /v2/stateproofs/{round}GetStatus
GetStatus()
Gets the current node status.GetSupply
GetSupply()
Get the current supply reported by the ledger.GetSyncRound
GetSyncRound()
Gets the minimum sync round for the ledger.GetTransactionGroupLedgerStateDeltasForRound
GetTransactionGroupLedgerStateDeltasForRound(Long round)
Get ledger deltas for transaction groups in a given round.GetTransactionProof
GetTransactionProof(Long round, String txid)
Get a proof for a transaction in a block.GetVersion
GetVersion()
Retrieves the supported API versions, binary build versions, and genesis information.HealthCheck
HealthCheck()
Returns OK if healthy.Metrics
Metrics()
Return metrics about algod functioning.PendingTransactionInformation
PendingTransactionInformation(String txid)
Given a transaction ID of a recently submitted transaction, it returns information about it.RawTransaction
RawTransaction()
Broadcasts a raw transaction or transaction group to the network.SetBlockTimeStampOffset
SetBlockTimeStampOffset(Long offset)
Sets the timestamp offset (seconds) for blocks in dev mode.SetSyncRound
SetSyncRound(Long round)
Sets the minimum sync round on the ledger.SimulateTransaction
SimulateTransaction()
Simulates a raw transaction or transaction group as it would be evaluated on the network.SwaggerJSON
SwaggerJSON()
Returns the entire swagger spec in json.TealCompile
TealCompile()
Given TEAL source code in plain text, return base64 encoded program bytes and base32 SHA512_256 hash of program bytes (Address style).TealDisassemble
TealDisassemble()
Given the program bytes, return the TEAL source code in plain text.TealDryrun
TealDryrun()
Executes TEAL program(s) in context and returns debugging information about the execution.TransactionParams
TransactionParams()
Get parameters for constructing a new transaction /v2/transactions/paramsUnsetSyncRound
UnsetSyncRound()
Unset the ledger sync round.WaitForBlock
WaitForBlock(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 accounts 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}
-
-