Registration service

Registration service is REST service purely for test purposes which is capable to interact with:

build

In order to build iapyx in main project folder run:

cd registration-service
cargo build
cargo install --path . --force

quick start

The simplest configuration is available by using command:

registration-service --config config.yaml

See config for more details.

clients

cli

Registration CLI is cli utility tool which help to interact with registration service without manually constructing requests

See cli for more details.

api

Example:

#![allow(unused)]
fn main() {
    use registration_service::{
        client::rest::RegistrationRestClient, context::State, request::Request,
    };

    ...

    let payment_skey = Path::new("payment.skey");
    let payment_skey = Path::new("payment.vkey");
    let payment_skey = Path::new("stake.skey");
    let payment_skey = Path::new("stake.vkey");
    let payment_skey = Path::new("vote.skey");

    let registration_client =
        RegistrationRestClient::new_with_token(registration_token, registration_address);

    let registration_request = Request {
        payment_skey,
        payment_vkey,
        stake_skey,
        stake_vkey,
        vote_skey,
    };

    let registration_job_id = registration_client.job_new(registration_request).unwrap();

    let wait = WaitBuilder::new().tries(10).sleep_between_tries(10).build();
    println!("waiting for registration job");
    let registration_jobs_status = registration_client
        .wait_for_job_finish(registration_job_id.clone(), wait)
        .unwrap();
    println!("{:?}", registration_jobs_status);

    let qr_code_path = temp_dir.child("qr_code");
    std::fs::create_dir_all(qr_code_path.path()).unwrap();

    let qr_code = registration_client
        .download_qr(registration_job_id.clone(), qr_code_path.path())
        .unwrap();
    let voting_key_sk = registration_client
        .get_catalyst_sk(registration_job_id)
        .unwrap();
}

NOTE: see cardano cli guide. This details information how to create payment and stake files.