Sharder API

Endpoints exposed by the sharders

This page is under progressive development.

Transaction confirmation

GET /v1/transaction/get/confirmation

Get the confirmation of the transaction from the sharders.

Parameters

  • hash (in query form fields) - The hash of the transaction to get the confirmation of.

Returns

  • Confirmation



// Confirmation - a data structure that provides the confirmation that a transaction is included into the block chain
type Confirmation struct {
	Version           string       `json:"version"`
	Hash              string       `json:"hash"`
	BlockHash         string       `json:"block_hash"`
	PreviousBlockHash string       `json:"previous_block_hash"`
	Transaction       *Transaction `json:"txn,omitempty"`
	datastore.CreationDateField
	MinerID               datastore.Key `json:"miner_id"`
	Round                 int64         `json:"round"`
	Status                int           `json:"transaction_status" msgpack:"sot"`
	
	// low level fields
	RoundRandomSeed       int64         `json:"round_random_seed"`
	StateChangesCount     int           `json:"state_changes_count"`
	MerkleTreeRoot        string        `json:"merkle_tree_root"`
	MerkleTreePath        *util.MTPath  `json:"merkle_tree_path"`
	ReceiptMerkleTreeRoot string        `json:"receipt_merkle_tree_root"`
	ReceiptMerkleTreePath *util.MTPath  `json:"receipt_merkle_tree_path"`
}
type BlockSummary struct {
	datastore.VersionField // version
	datastore.CreationDateField // creation_date
	datastore.NOIDField // -

	Hash                  string        `json:"hash"`
	MinerID               datastore.Key `json:"miner_id"`
	Round                 int64         `json:"round"`
	RoundRandomSeed       int64         `json:"round_random_seed"`
	StateChangesCount     int           `json:"state_changes_count"`
	MerkleTreeRoot        string        `json:"merkle_tree_root"`
	ClientStateHash       util.Key      `json:"state_hash"`
	ReceiptMerkleTreeRoot string        `json:"receipt_merkle_tree_root"`
	NumTxns               int           `json:"num_txns"`
	*MagicBlock           `json:"maigc_block,omitempty" msgpack:"mb,omitempty"`
}

Storage Smart Contract Endpoints

Prefix: /v1/screst/6dba10422e368813802877a85039d3985d96760ed844092319743fb3a76712d7

Global Configuration

GET <Prefix>/storage-config

Returns the global storage configuration values of the smart contract.

Example Request:

GET https://sharder1.0chain.net/sharder01/v1/screst/6dba10422e368813802877a85039d3985d96760ed844092319743fb3a76712d7/storage-config

Example Response:

{
    fields: {
        blobber_slash: "0.1",
        block_reward.block_reward: "2.37",
        block_reward.gamma.a: "10",
        block_reward.gamma.alpha: "0.2",
        block_reward.gamma.b: "9",
        block_reward.qualifying_stake: "1",
        block_reward.zeta.i: "1",
        block_reward.zeta.k: "0.9",
        block_reward.zeta.mu: "0.2",
        cancellation_charge: "0.2",
        challenge_enabled: "true",
        challenge_generation_gap: "5",
        cost.add_blobber: "266",
        cost.add_free_storage_assigner: "124",
        cost.add_validator: "348",
        cost.blobber_health_check: "97",
        cost.cancel_allocation: "1163",
        cost.challenge_response: "728",
        cost.collect_reward: "181",
        cost.commit_connection: "743",
        cost.commit_settings_changes: "56",
        cost.finalize_allocation: "1091",
        cost.free_allocation_request: "2132",
        cost.generate_challenge: "600",
        cost.kill_blobber: "651",
        cost.kill_validator: "277",
        cost.new_allocation_request: "1919",
        cost.pay_blobber_block_rewards: "100",
        cost.read_pool_lock: "170",
        cost.read_pool_unlock: "104",
        cost.read_redeem: "664",
        cost.shutdown_blobber: "597",
        cost.shutdown_validator: "227",
        cost.stake_pool_lock: "187",
        cost.stake_pool_unlock: "119",
        cost.update_allocation_request: "2692",
        cost.update_blobber_settings: "338",
        cost.update_settings: "143",
        cost.update_validator_settings: "247",
        cost.write_pool_lock: "186",
        free_allocation_settings.data_shards: "6",
        free_allocation_settings.parity_shards: "3",
        free_allocation_settings.read_pool_fraction: "0",
        free_allocation_settings.read_price_range.max: "0",
        free_allocation_settings.read_price_range.min: "0",
        free_allocation_settings.size: "2147483648",
        free_allocation_settings.write_price_range.max: "0.025",
        free_allocation_settings.write_price_range.min: "0",
        health_check_period: "1h30m0s",
        max_blobber_select_for_challenge: "5",
        max_blobbers_per_allocation: "30",
        max_challenge_completion_rounds: "1200",
        max_charge: "0.5",
        max_delegates: "100",
        max_file_size: "549755813888",
        max_individual_free_allocation: "1",
        max_read_price: "0",
        max_stake: "2e+06",
        max_total_free_allocation: "1e+07",
        max_write_price: "0.0251",
        min_alloc_size: "1073741824",
        min_blobber_capacity: "10995116277760",
        min_stake: "1",
        min_stake_per_delegate: "10",
        min_write_price: "0.001",
        num_validators_rewarded: "10",
        owner_id: "ac112d5620eb7918e08086506b4c5fba9419be09b3dd97e47e02778b0927dcc4",
        readpool.min_lock: "0",
        stakepool.kill_slash: "0.5",
        stakepool.min_lock_period: "0s",
        time_unit: "8760h0m0s",
        validator_reward: "0.025",
        validators_per_challenge: "10",
        writepool.min_lock: "0.1"
    }
}

Last updated