Storage S.C.

This page is under progressive development.

new_allocation_request

Create a new allocation and lock tokens in the client's write pool, given the following inputs:

type newAllocationRequest struct {
	Name                 string     `json:"name"`
	DataShards           int        `json:"data_shards"`
	ParityShards         int        `json:"parity_shards"`
	Size                 int64      `json:"size"`
	Owner                string     `json:"owner_id"`
	OwnerPublicKey       string     `json:"owner_public_key"`
	Blobbers             []string   `json:"blobbers"`
	BlobberAuthTickets   []string   `json:"blobber_auth_tickets"`
	ReadPriceRange       PriceRange `json:"read_price_range"`
	WritePriceRange      PriceRange `json:"write_price_range"`
	ThirdPartyExtendable bool       `json:"third_party_extendable"`
	FileOptionsChanged   bool       `json:"file_options_changed"`
	FileOptions          uint16     `json:"file_options"`
}
Field
Description

name

(not used) the name of the allocation

data_shards

Number of data shards.

parity_shards

Number of prity shards used for error correction.

size

Size of the allocation.

owner

ClientID of the owner of the alloaction.

owner_public_key

Public Key of the owner of the allocation.

blobbers

List of blobber IDs to show for the blobbers.

blobber_auth_tickets

List of auth tickets corresponding to the list of blobber ids to host the allocation.

read_price_range

Range of read price offer for the blobbers chosen for the allocation (Reads in Züs are free!).

write_price_range

Range of write price offer for the blobbers chosen for the allocation.

third_party_extendable

Whether the allocation can be extendable by third party or not, meaning its size can be increased by a client other than the owner of the allocation.

file_options_changed

Whether file option flags are changed.

file_options

File option flags mask which control permissions of the files that belong to the allocation.

update_allocation_request

Updates the parameters of an existing allocation given the following parameters:​

type updateAllocationRequest struct {
	ID                      string `json:"id"`               // allocation id
	Name                    string `json:"name"`             // allocation name
	OwnerID                 string `json:"owner_id"`         // Owner of the allocation
	OwnerPublicKey          string `json:"owner_public_key"` // Owner Public Key of the allocation
	Size                    int64  `json:"size"`             // difference
	Extend                  bool   `json:"extend"`
	AddBlobberId            string `json:"add_blobber_id"`
	AddBlobberAuthTicket    string `json:"add_blobber_auth_ticket"`
	RemoveBlobberId         string `json:"remove_blobber_id"`
	SetThirdPartyExtendable bool   `json:"set_third_party_extendable"`
	FileOptionsChanged      bool   `json:"file_options_changed"`
	FileOptions             uint16 `json:"file_options"`
}
Field
Description

ID

The id of the allocation

name

(not used) the name of the allocation

owner_id

ClientID of the owner of the alloaction.

owner_public_key

Public Key of the owner of the allocation.

size

Size of the allocation.

extend

Whether the allocation should be extended.

add_blobber_id

ID of the blobber to add to the allocation.

add_blobber_auth_ticket

Auth ticket of the blobber to add to the allocation.

remove_blobber_id

ID of the blobber to remove from the allocation.

read_price_range

Range of read price offer for the blobbers chosen for the allocation (Reads in Züs are free!).

write_price_range

Range of write price offer for the blobbers chosen for the allocation.

set_third_party_extendable

Set the allocation to be extendable by third party, meaning its size can be increased by a client other than the owner of the allocation.

file_options_changed

Whether file option flags are changed.

file_options

File option flags mask which control permissions of the files that belong to the allocation.

finalize_allocation

Finalize an expired allocation by allocation owner or one of blobbers of the allocation. It moves all tokens have to be moved between pools and empties write pool moving left tokens to the client. It requires the following input parameters:

AllocationID string `json:"allocation_id"`

cancel_allocation

Cancel the allocation before its expiry date. It moves all tokens have to be moved between pools and empties write pool moving left tokens to the client, it also deducts a cancelation fee mentioned in the Allocations page. It required the following input parameters:

AllocationID string `json:"allocation_id"`

Last updated