Categories
Uncategorized

Create payment address cardano


cardano-cli address key-gen \
    --verification-key-file payment.vkey \
    --signing-key-file payment.skey



cardano-cli stake-address key-gen \
    --verification-key-file stake.vkey \
    --signing-key-file stake.skey




cardano-cli stake-address build \
    --stake-verification-key-file stake.vkey \
    --out-file stake.addr \
    --testnet-magic 1



cardano-cli address build \
    --payment-verification-key-file payment.vkey \
    --stake-verification-key-file stake.vkey \
    --out-file payment.addr \
    --testnet-magic 1


cardano-cli query utxo \
    --address $(cat payment.addr) \
    --testnet-magic 1

https://www.coincashew.com/coins/overview-ada/guide-how-to-build-a-haskell-stakepool-node/part-iii-operation/setting-up-payment-and-stake-keys

Categories
Uncategorized

Cardano testnet setup with docker-compose

version: "3.5"

services:
  cardano-node:
    image: inputoutput/cardano-node:1.35.0
    environment:
      NETWORK:
      CARDANO_NODE_SOCKET_PATH: "/ipc/node.socket"
    volumes:
      - node-${NETWORK}-db:/data
      - node-ipc:/ipc
    restart: on-failure
    logging:
      driver: "json-file"
      options:
        compress: "true"
        max-file: "10"
        max-size: "50m"

  cardano-wallet:
    image: inputoutput/cardano-wallet:2022.7.1
    volumes:
      - wallet-${NETWORK}-db:/wallet-db
      - node-ipc:/ipc
    ports:
      - 8090:8090
    entrypoint: []
    command: bash -c "
        ([[ $$NETWORK == \"mainnet\" ]] && $$CMD --mainnet) ||
        ($$CMD --testnet /config/${NETWORK}/genesis-byron.json)
      "
    environment:
      CMD: "cardano-wallet serve --node-socket /ipc/node.socket --database /wallet-db --listen-address 0.0.0.0"
      NETWORK:
    restart: on-failure
    logging:
      driver: "json-file"
      options:
        compress: "true"
        max-file: "10"
        max-size: "50m"


  cardano-submit-api:
    image: inputoutput/cardano-submit-api:1.35.0
    environment:
      - NETWORK=${NETWORK:-mainnet}
    depends_on:
      - cardano-node
    volumes:
      - node-ipc:/node-ipc
    ports:
      - 8091:8090
    restart: on-failure
    logging:
      driver: "json-file"
      options:
        max-size: "200k"
        max-file: "10"

volumes:
  node-mainnet-db:
  node-testnet-db:
  node-alonzo-purple-db:
  wallet-mainnet-db:
  wallet-testnet-db:
  wallet-alonzo-purple-db:
  node-ipc:
  node-config:

source : https://github.com/input-output-hk/cardano-wallet/blob/master/docker-compose.yml

Start testnet :

NETWORK=testnet docker compose -f cardano-compose.yml up -d

Start mainnet :

NETWORK=mainnet docker compose -f cardano-compose.yml up -d

To access cardano-cli set CARDANO_NODE_SOCKET_PATH

export CARDANO_NODE_SOCKET_PATH=/var/lib/docker/volumes/root_node-ipc/_data/node.socket
Categories
Uncategorized

Create NFT in cardano-testnet

Note : Assets name should in base16

https://forum.cardano.org/t/error-while-minting-nft-transaction-using-full-node/84784

Read the docs carefully : https://developers.cardano.org/docs/native-tokens/minting-nfts

Categories
Uncategorized

Create metadata transcation in cardano testnet

cat metadata.json
{    
    "1": {"data": "hello cardano"}
}


cardano-cli query utxo --testnet-magic 1097911063 --address $(cat payment.addr)

999825831

cardano-cli transaction build-raw \
--tx-in d80a355f11d26025802a74f614c06f3a1eb347d9be489fcf2048989f9ce34bed#0 \
--tx-out $(cat payment.addr)+0 \
--metadata-json-file metadata.json \
--fee 0 \
--out-file tx.draft


cardano-cli query protocol-parameters \
    --testnet-magic 1097911063 \
    --out-file protocol.json


cardano-cli transaction calculate-min-fee \
--tx-body-file tx.draft \
--tx-in-count 1 \
--tx-out-count 1 \
--witness-count 1 \
--byron-witness-count 0 \
--testnet-magic 1097911063 \
--protocol-params-file protocol.json

fee : 175005

999825831-175005 = 999650826
    

cardano-cli transaction build-raw \
--tx-in d80a355f11d26025802a74f614c06f3a1eb347d9be489fcf2048989f9ce34bed#0 \
--tx-out $(cat payment.addr)+999650826 \
--metadata-json-file metadata.json \
--fee 175005 \
--out-file tx.draft

cardano-cli transaction sign \
--tx-body-file tx.draft \
--signing-key-file payment.skey \
--testnet-magic 1097911063 \
--out-file tx.signed


cardano-cli transaction submit \
--tx-file tx.signed \
--testnet-magic 1097911063

More = https://developers.cardano.org/docs/transaction-metadata/how-to-create-a-metadata-transaction-cli/

https://github.com/input-output-hk/cardano-node/blob/master/doc/stake-pool-operations/simple_transaction.md

Categories
cardano Uncategorized

Cardano epoch rewards come from ?

Credit : EveryBlock.Studio

Categories
cardano Uncategorized

cardano node Dockerfile

cardano-node.yml

version: '3'
services:
  jenkins:
    image: koolwith/cardano-node
    user: root:root
    restart: always
    container_name: cardano-node1
    environment:
      TZ: "Asia/Kolkata"
    volumes:
      - /opt//cardano-my-node:/root/cardano-my-node
    ports:
      - 6000:6000

cardano-node.Dockerfile

docker build -t cardano-node -f cardano-node.Dockerfile .
FROM debian:stable-slim as base
RUN apt-get update -y
RUN apt-get install git jq bc make rsync htop curl build-essential pkg-config libffi-dev libgmp-dev libssl-dev libtinfo-dev libsystemd-dev zlib1g-dev make g++ wget libncursesw5 libtool autoconf -y

RUN mkdir $HOME/git \
    && cd $HOME/git \
    && git clone https://github.com/input-output-hk/libsodium \
    && cd libsodium \
    && git checkout 66f017f1 \
    && ./autogen.sh \
    && ./configure \
    && make \
    && make install

RUN cd \
    && wget https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-unknown-linux.tar.xz \
    && tar -xf cabal-install-3.2.0.0-x86_64-unknown-linux.tar.xz \
    && rm cabal-install-3.2.0.0-x86_64-unknown-linux.tar.xz cabal.sig \
    && mkdir -p $HOME/.local/bin \
    && mv cabal $HOME/.local/bin/

RUN wget https://downloads.haskell.org/ghc/8.10.2/ghc-8.10.2-x86_64-deb9-linux.tar.xz \
    && tar -xf ghc-8.10.2-x86_64-deb9-linux.tar.xz \
    && rm ghc-8.10.2-x86_64-deb9-linux.tar.xz \
    && cd ghc-8.10.2 \
    && ./configure \
    && make install

RUN echo PATH="$HOME/.local/bin:$PATH" >> $HOME/.bashrc \
    &&  echo export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" >> $HOME/.bashrc \
    &&  echo export NODE_HOME=$HOME/cardano-my-node >> $HOME/.bashrc \
    &&  echo export NODE_CONFIG=mainnet>> $HOME/.bashrc \
    &&  echo export NODE_BUILD_NUM="$(curl https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest-finished/download/1/index.html | grep -e "build" | sed 's/.*build\/\([0-9]*\)\/download.*/\1/g')" >> $HOME/.bashrc \
    &&  /bin/bash -c "source $HOME/.bashrc" \
    &&  mv $HOME/.local/bin/* /usr/local/bin/

RUN cabal update 

RUN cd $HOME/git \
    && git clone https://github.com/input-output-hk/cardano-node.git \
    && cd cardano-node \
    && git fetch --all --recurse-submodules --tags \
    && git checkout tags/1.24.2 
    
RUN cd $HOME/git/cardano-node \
    && export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" \
    && export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH" \
    && cabal configure -O0 -w ghc-8.10.2 \
    && echo -e "package cardano-crypto-praos\n flags: -external-libsodium-vrf" > cabal.project.local \
    && sed -i $HOME/.cabal/config -e "s/overwrite-policy:/overwrite-policy: always/g" \
    && rm -rf $HOME/git/cardano-node/dist-newstyle/build/x86_64-linux/ghc-8.10.2 \
    && cabal build cardano-cli cardano-node \
    && cp $(find $HOME/git/cardano-node/dist-newstyle/build -type f -name "cardano-cli") /usr/local/bin/cardano-cli \
    && cp $(find $HOME/git/cardano-node/dist-newstyle/build -type f -name "cardano-node") /usr/local/bin/cardano-node
Categories
cardano Uncategorized

Cardano simple transaction – Testnet

payment2.addr = TO address (addr_test1qqr585tvlc7ylnqvz8pyqwauzrdu0mxag3m7q56grgmgu7sxu2hyfhlkwuxupa9d5085eunq2qywy7hvmvej456flknswgndm3)
payment.addr = FROM address(addr_test1qzvvw5j2636y3r0cg3spu94htzjxupmt2hxld5gxzsp873lpqqmdlvg6k2sfdnzjz8q3pr3q8meydx05q4cacmnzxxesawnv76)

#Draft transaction

cardano-cli shelley transaction build-raw \
--tx-in 173dcc8ce28c8d6c3900363c8c3a18f0dcdc953f1f108d1acf99bbfc66f99d9d#0 \
--tx-out $(cat payment2.addr)+0 \
--tx-out $(cat payment.addr)+0 \
--ttl 0 \
--fee 0 \
--out-file tx.draft

#Minimum fee

cardano-cli shelley transaction calculate-min-fee \
--tx-in-count 1 \
--tx-out-count 2 \
--tx-body-file tx.draft \
--testnet-magic 1097911063 \
--witness-count 3 \
--protocol-params-file protocol.json

minimum fee : 189481

#Calculation

497452809 – 100000000 – 189481 = 397263328
payment.addr – payment2.addr – fee = 397263328

#Get updated slot

currentSlot=$(cardano-cli query tip --testnet-magic 1097911063 | jq -r '.slotNo')
echo Current Slot: $currentSlot
updated_currentSlot=$(($currentSlot+1000))
echo Updated Slot: $updated_currentSlot

#Build raw transaction

cardano-cli shelley transaction build-raw \
--tx-in 173dcc8ce28c8d6c3900363c8c3a18f0dcdc953f1f108d1acf99bbfc66f99d9d#0 \
--tx-out $(cat payment2.addr)+100000000 \
--tx-out $(cat payment.addr)+397263328 \
--ttl 14949695 \
--fee 189481 \
--out-file tx.raw

#Sign transaction

cardano-cli shelley transaction sign \
--tx-body-file tx.raw \
--signing-key-file payment.skey \
--testnet-magic 1097911063 \
--out-file tx.signed

#Submit transaction

cardano-cli shelley transaction submit \
--tx-file tx.signed \
--testnet-magic 1097911063

root@core:~/cardano-my-node# cat protocol.json | grep minUTxOValue
minUTxOValue“: 1000000,

Shelley command failed: transaction submit Error: Error while submitting tx: ApplyTxError [LedgerFailure (UtxowFailure (UtxoFailure (OutputTooSmallUTxO [(Addr Mainnet (KeyHashObj (KeyHash “6ccf7afbb2f916c52aa01eeffaa71b500d903ef2421c9b40343a5145”)) (StakeRefBase (KeyHashObj (KeyHash “61ffb9726ac8436bdecfe9b94b9f18d51ce26672452808019212cfdd”))),Coin 472257)])))]

Categories
cardano Uncategorized

Cardano-DevOps

Help cardano community to automate