Skip to content
Snippets Groups Projects
dap_chain_node_cli_cmd.c 34.9 KiB
Newer Older
    /*
     // create file with dap_chain_t
     dap_chain_id_t a_chain_id = {0x1};
     dap_chain_net_id_t a_chain_net_id = {0x2};
     dap_chain_shard_id_t a_shard_id = {0x3};

     dap_chain_t *a_chain = dap_chain_create(a_chain_net_id, a_chain_id, a_shard_id);
     const char * a_chain_net_name = "0x1";
     const char * a_chain_cfg_name = "chain-0";
     dap_chain_t *ch2 =  dap_chain_load_from_cfg(a_chain_net_name, a_chain_cfg_name);

     //dap_chain_net_t *l_net = dap_chain_net_by_name(net_name);
     //dap_chain_id_t *chain = l_net->pub.chains;
     */
    return tx;
}

/**
 * com_tx_create command
 *
 * Signing transaction
 */
int com_tx_create(int argc, const char ** argv, char **str_reply)
{
    // create wallet
    const char *a_wallets_path = "/opt/kelvin-node/etc";
    const char *a_wallet_name = "w1";
    dap_chain_net_id_t a_net_id = { 0x1 };
    dap_chain_sign_type_t a_sig_type = { SIG_TYPE_TESLA };
    //dap_chain_sign_type_t a_sig_type = { SIG_TYPE_BLISS };
    //dap_chain_wallet_t *wallet = dap_chain_wallet_create(a_wallet_name, a_wallets_path, a_net_id, a_sig_type);
    //size_t num = dap_chain_wallet_get_certs_number(wallet);
    dap_chain_wallet_t *wallet = dap_chain_wallet_open(a_wallet_name, a_wallets_path);

    dap_chain_datum_tx_t *tx = create_tx("0x123");

    if(wallet) {
        if(dap_chain_wallet_get_certs_number(wallet) > 0) {
            dap_chain_pkey_t *pk0 = dap_chain_wallet_get_pkey(wallet, 0);
            dap_enc_key_t *a_key = dap_chain_wallet_get_key(wallet, 0);
            //dap_enc_key_t *a_key1 = dap_chain_wallet_get_key(wallet, 0);
            //dap_enc_key_t *a_key2 = dap_chain_wallet_get_key(wallet2, 0);
            int res = dap_chain_datum_tx_add_sign(&tx, a_key);
            //int res1 = dap_chain_datum_tx_add_sign(&tx, a_key);
            //int res2 = dap_chain_datum_tx_add_sign(&tx, a_key2);
            int res3 = dap_chain_datum_tx_verify_sign(tx);
        }
        dap_chain_wallet_close(wallet);
        DAP_DELETE(tx);
    }
    set_reply_text(str_reply, "com_tx_create ok");
    return -1;
}

/**
 * tx_verify command
 *
 * Verifing transaction
 */
int com_tx_verify(int argc, const char ** argv, char **str_reply)
{
    if(argc > 1) {
        const COMMAND *cmd = find_command(argv[1]);
        if(cmd)
        {
            if(str_reply)
                *str_reply = g_strdup(cmd->doc);
            return 1;
        }
        if(str_reply)
            set_reply_text(str_reply, "command \"%s\" not recognized", argv[1]);
        set_reply_text(str_reply, "command not defined, enter \"help <cmd name>\"");