Skip to main content

kalypso-cli

kalypso-cli is a prompt based command line tool to interact with components in kalypso. You can refer this section to build it from source code.

Common Operation done using CLI

NameDescription
RegisterRegister a new operator on Kalypso Marketplace
Join MarketplaceJoin a new marketplace on Kalypso. Operator must have 'Register'ed before joining the market
Request To Leave MarketplaceRequest Kalypso To Leave Marketplace. If there are no requests, the operator will automatically exit. Otherwise, the operator will have to call 'Leave Marketplace' later
Leave MarketplaceLeave Marketplace
Create MarketplaceCreate a new marketplace in Kalypso
Compute PCRsCompute PCRs of a given enclave from its attestation server/attestation utility
Read AttestationRead the attestation of the enclave from its attestation server
Non-Confidential Market PCRSGet PCRs for non-confidential market
Claim RewardsClaim accumulated rewards
Native StakeStake Your Own Tokens
Create Proof Request (non confidential market)Create a proof request for a non-confidential market
Create Proof Request (confidential market)Create a proof request for a confidential market. Private Inputs in this market are shared with TEE directly and ensured that they don't go on-chain
Discard RequestDiscard your own request using Request ID
Whitelist Prover ImageWhitelist Prover Image/PCRs for a market
Whitelist IVS ImageWhitelist IVS Image/PCRs for a market
Update Encryption KeyUpdate Encryption Key for confidential markets
Add IVS KeyAdds IVS Enclave key and registers respective keys with the market
Read Proof BytesRead Proof Bytes using Kalypso data indexer
Read Stake DataRead Stake Data across Native and Symbiotic Staking modules
Request Symbiotic StakeRequest delegation from Symbiotic
Set Kalypso Delegatee AddressSet Symbiotic Delegate Address
Load Generator ConfigLoad config in confidential generator. (Only works in testnet right now)
Start Enclave ProgramStarts a program inside enclave
Stop Enclave ProgramStop a program inside enclave
Test Enclave ConnectionTest Enclave Connection
Benchmark ProverGet Benchmark results of prover
Symbiotic Operator RegisterRegister Operator on Symbiotic Network
Update Market MetadataUpdate the Market Related data. It reads info from marketmeta.json and updates in the marketplace. Operation can be only performed by admin
Update Generator MetadataUpdate the generator info in the registry. It reads info from generatormeta.json and updates in the generator registry. Operation can be performed only by relevant operator
Check Symbiotic Registration InfoChecks whether the operator is registered on Symbiotic
Check Symbiotic Optin InfoChecks whether operator has opted into vaults and networks
Read Rewards InfoRead accumulated rewards
Read Native Staking Pending WithdrawalsReads Native Staking pending withdrawals
Request Native Stake WithdrawalCreate a withdrawal request on Native Staking Module
Process Withdrawal RequestsComplete Withdrawal Request. Withdraws amount present in all withdrawal requests
Start Matching EngineStarts the Matching Engine Enclave
Stop Matching EngineStops the Matching Engine Enclave
Load Matching Engine ConfigSecurely load the matching engine config into matching engine
Set Matching Engine ImageSet matching engine image. (Only by address that has UPDATER role)
Verify Matching Engine KeysVerify Matching Engine Keys. (Only by address that has UPDATER role)
Verify Remote AttestationVerify Remote Attestation Locally against given PCRS
Check Role ManagementCheck role managements in different contracts

Common terms used in CLI

FieldPromptSecretEnv Var
address_to_check_role_forEnter address to check role forfalseCHECK_ROLE_FOR
private_keyEnter your private keytruePRIVATE_KEY
rpc_urlEnter RPC URLfalseRPC_URL
chain_idEnter Chain IDfalseCHAIN_ID
market_idEnter Market IDfalseMARKET_ID
generator_registryEnter Generator Registry Contract AddressfalseGENERATOR_REGISTRY_ADDRESS
proof_marketplaceEnter Proof Marketplace Contract AddressfalsePROOF_MARKETPLACE_ADDRESS
symbiotic_stakingEnter Symbiotic Staking Contract AddressfalseSYMBIOTIC_STAKING_ADDRESS
symbiotic_staking_rewardEnter Symbiotic Staking Reward Contract AddressfalseSYMBIOTIC_STAKING_REWARD_ADDRESS
entity_registryEnter Entity Key Registry Contract AddressfalseENTITY_KEY_REGISTRY_ADDRESS
reward_addressEnter Reward AddressfalseREWARD_ADDRESS
declared_computeEnter compute you wish to providefalseDECLARED_COMPUTE
compute_per_requestEnter compute your machine requires per requestfalseCOMPUTE_PER_REQUEST
proof_generation_costEnter proof generation cost per requestfalsePROOF_GENERATION_COST
proposed_timeEnter Maximum Time in which you can submit the prooffalsePROPOSED_TIME
staking_tokenEnter the staking token addressfalseSTAKING_TOKEN
payment_tokenEnter the payment token addressfalsePAYMENT_TOKEN
enclave_image_idEnter the enclave pcrs pcrsfalseENCLAVE_IMAGE_ID
prover_image_idEnter the prover image pcrsfalsePROVER_IMAGE_PCRS
verification_image_idEnter the input_verification image pcrsfalseIVS_IMAGE_PCRS
matching_engine_image_idEnter the matching_engine image pcrsfalseMATCHING_ENGINE_IMAGE_PCRS
verifier_wrapperEnter Proof Verifier Contract Address (refer to Kalypso Standard Wrapper Contract)falseVERIFIER_WRAPPER_ADDRESS
attestation_server_urlEnter Attestation Server URLfalseATTESTATION_UTILITY_URL
attestation_verifier_urlEnter Attestation VERIFIER URLfalseATTESTATION_VERIFIER_URL
staking_amountEnter the amount to stake (or) withdrawfalseSTAKING_AMOUNT
native_stakingEnter Native Staking Contract AddressfalseNATIVE_STAKING_ADDRESS
staking_managerEnter Staking Manager Contract AddressfalseSTAKING_MANAGER_ADDRESS
operator_addressEnter Operator Address on KalypsofalseOPERATOR_ADDRESS
max_proof_generation_costEnter Maximum number of payments token to payfalseMAX_PROOF_GENERATION_COST
max_proof_generation_timeEnter Maximum Proof Generation Time you can wait for proof to be generatedfalseMAX_PROOF_GENERATION_TIME
inputsEnter public inputs in hex string. Don't share any secret information in this promptfalseINPUTS
private_inputsEnter private inputs in hex stringtruePRIVATE_INPUTS
ask_idEnter BID ID/ Request IDfalseBID_ID
enclave_client_urlEnter enclave client URLfalseENCLAVE_CLIENT_URL
display_nameEnter Display NamefalseDISPLAY_NAME
display_descriptionA brief description of the generatorfalseDESCRIPTION
websiteWebsitefalseWEBSITE
twitterTwitterfalseTWITTER
symbiotic_rpc_urlRPC URL of the chain on which symbiotic existsfalseSYMBIOTIC_RPC_URL
symbiotic_chain_idChain Id of the chain on which symbiotic existsfalseSYMBIOTIC_CHAIN_ID
vault_opt_in_serviceAddress of the symbiotic vault opt in contractfalseVAULT_OPT_IN_SERVICE
middleware_serviceAddress of the middleware contractfalseMIDDLEWARE_SERVICE
network_opt_in_serviceAddress of the symbiotic network opt in contractfalseNETWORK_OPT_IN_SERVICE
vault_addressAddress of the vault to opt infalseVAULT_ADDRESS
network_addressAddress of the network to opt infalseNETWORK_ADDRESS
indexer_urlEnter the URL or kalypso indexerfalseINDEXER_URL
generator_client_urlGenerator Client URLfalseGENERATOR_CLIENT_URL
gas_keyEnter gas key. This key will be used to spend gas on chaintrueGAS_KEY
start_blockEnter Start from which the operations should startfalseSTART_BLOCK
attestation_verifierEnter Attestation Verifier Contract AddressfalseATTESTATION_VERIFIER_ADDRESS
internal_prover_portInternal Port number on which proving server is running. It depends on market to marketfalseINTERNAL_PROVER_PORT
input_verification_urlEnter input verification enclave URL. This url helps prover determine whether given inputs are valid using IVS servicefalseINPUT_VERIFICATION_URL
prover_program_namename of the program to start in the enclavefalsePROVER_PROGRAM_NAME
benchmark_urlEnter url of the server that does benchmarking and returns benchmark resultfalseBENCHMARK_URL
symbiotic_operator_registryEnter Symbiotic Operator RegistryfalseSYMBIOTIC_OPERATOR_REGISTRY
operator_commissionEnter operator-commission. [0 (0%)- 1000000000000000000 (100%)]falseOPERATOR_COMMISSION
matching_engine_client_urlEnter matching engine client urlfalseMATCHING_ENGINE_CLIENT_URL
matching_engine_attestation_utilityEnter matching engine attestation utility URLfalseMATCHING_ENGINE_ATTESTATION_UTILITY_URL

warning

In the "Secret" column, true indicates that the field contains sensitive information