Skip to content

Instantly share code, notes, and snippets.

@bwbush
Created December 15, 2023 16:51
Show Gist options
  • Save bwbush/8539ae7a2fc6fee607d5ce18f75aee20 to your computer and use it in GitHub Desktop.
Save bwbush/8539ae7a2fc6fee607d5ce18f75aee20 to your computer and use it in GitHub Desktop.
Raffle
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "1d0306e1-c986-44a5-a8b7-134e2028e40f",
"metadata": {},
"source": [
"## Select network"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "14fd74ed-a835-40da-84f6-ceda0a184e68",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"export CARDANO_NODE_SOCKET_PATH=/extra/iohk/networks/preprod/node.socket\n",
"export CARDANO_TESTNET_MAGIC=1"
]
},
{
"cell_type": "markdown",
"id": "33e557d1-af30-449b-87bd-028e7fc00131",
"metadata": {
"tags": []
},
"source": [
"## Marlowe Runtime"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "1e21f41d-a3cd-4c40-ba31-cbc935d99c17",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"export MARLOWE_RT_HOST=127.0.0.1\n",
"export MARLOWE_RT_PORT=13700"
]
},
{
"cell_type": "markdown",
"id": "be3f9318-8a3e-4fe9-b100-966ae1bca12b",
"metadata": {},
"source": [
"## Blockfrost"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "003f3ae0-e327-4594-ae96-03b346416e8d",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"BLOCKFROST_KEY=mainnetVqEqJCh6iB7JhPDz6obs1Bl0gVC4xanI"
]
},
{
"cell_type": "markdown",
"id": "28e0d325-0ed9-40ed-b342-8ab77594b332",
"metadata": {},
"source": [
"## Constants"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "fc63e766-d4cd-488e-9b89-7056478fb9dd",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"ADA=1000000"
]
},
{
"cell_type": "markdown",
"id": "572a2484-9d0a-487f-adea-fe0abcd2f50c",
"metadata": {},
"source": [
"## Select keys and addresses"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "9dbb8647-2c8a-4e63-b7e0-00cc3d0dbcf9",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"TREASURY=/extra/iohk/networks/treasury"
]
},
{
"cell_type": "markdown",
"id": "1cea39b6-0824-4446-9f6e-ef401bd04be8",
"metadata": {},
"source": [
"### Payment address"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "f02e7128-24bd-48c1-bc5e-0f7d4771d0ab",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"addr_test1vq9prvx8ufwutkwxx9cmmuuajaqmjqwujqlp9d8pvg6gupczgtm9j\n"
]
}
],
"source": [
"PAYMENT_SKEY=$TREASURY/payment.skey\n",
"PAYMENT_ADDR=$(cat $TREASURY/payment.testnet.address)\n",
"echo $PAYMENT_ADDR"
]
},
{
"cell_type": "markdown",
"id": "c16e6325-9f5e-4cb2-849b-6ec3bbefd5d2",
"metadata": {},
"source": [
"### Target addresses"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "9b5fd34c-8b9c-4994-8305-76a72224ac17",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"NICOLAS_ADDR=addr_test1qqe342swyfn75mp2anj45f8ythjyxg6m7pu0pznptl6f2d84kwuzrh8c83gzhrq5zcw7ytmqc863z5rhhwst3w4x87eq0td9ja"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "eb05721b-11a3-49bc-853a-7781f7428206",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"TOMASZ_ADDR=addr_test1qq0acgkfkgeeuezdy2fn2y5mxhn9zcvrjesxxen4k2d2t2zrhp2etmnsef6wnpvrsu5n80kxceafnxpv5te923agndxs5c4ter"
]
},
{
"cell_type": "markdown",
"id": "5ac4da56-e186-4eb5-9abd-48ad90e1773f",
"metadata": {},
"source": [
"### Prizes"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "92f25bc2-b3a8-41ad-b181-1882d8c7da75",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"PRIZE1_ADDR=(\n",
" addr1qyqx3gm0vlvpj8qpd6m8gk0nxrz329ngrycffygjdk4z0zt2rmlf4yshtaqzrqavcmu4k4qus6qrzsus5m305d5z0ddscyxjnl\n",
" addr1q82w94tqv3ehc6zk3zt9wpc8cjq62p3sxsm8ewuzq9m64um2rmlf4yshtaqzrqavcmu4k4qus6qrzsus5m305d5z0ddskwts8w\n",
" addr1q9jd3pt549enh0qydun34awjt9j36qj6shqem9tcwh3eazt2rmlf4yshtaqzrqavcmu4k4qus6qrzsus5m305d5z0dds6e652z\n",
")\n",
"PRIZE2_ADDR=(\n",
" addr1qx68rvkaclh4kkeae7px973ee508ve2jqv64ka78eh6yy8n0rxgtyt8kcyc288xe6jc86j93yttkfeg0tegu0ap8hk2s5k73zu\n",
" addr1q80u7xl9ga8n8rgwm2wtm8jwnde040d7r3gq8rqfegt3tqt0rxgtyt8kcyc288xe6jc86j93yttkfeg0tegu0ap8hk2s6360ww\n",
" addr1q9kexm3peu8dm2exyh8yqvpjthf3pw294sla49yuwuhekrr0rxgtyt8kcyc288xe6jc86j93yttkfeg0tegu0ap8hk2shwn25z\n",
" addr1qy7qjjmpmmltfs2h78qykhsp9fjzt442v5ww57zfvurv45n0rxgtyt8kcyc288xe6jc86j93yttkfeg0tegu0ap8hk2sgk2wpe\n",
" addr1q9htdsy7dnt0tcpypa830tsqzhms5kkl656mvxrj2een2kt0rxgtyt8kcyc288xe6jc86j93yttkfeg0tegu0ap8hk2s8cs0v9\n",
")\n",
"PRIZE3_ADDR=(\n",
" addr1q8cz6kchzgq7pvcf2970g3ru8e76v5kx7f4xtddpcvmyw84y25rvwa4cnwe5yv0zquu2rlwg2prvk04rxas8des62zzstgr226\n",
")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "22db8e89-b6e0-47f3-a2d6-92a77bc3218a",
"metadata": {},
"outputs": [],
"source": [
"# Instructions"
]
},
{
"cell_type": "markdown",
"id": "1ff8976b-75ea-4c95-a89c-5de058463345",
"metadata": {},
"source": [
"## Select policies"
]
},
{
"cell_type": "markdown",
"id": "2f0aa885-f600-4b49-8345-264b9c487056",
"metadata": {},
"source": [
"### Minting script"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "bdaea269-b04e-491b-9dbf-d7170c4dd38f",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"cat << EOI > mint.json\n",
"{\n",
" \"type\": \"sig\",\n",
" \"keyHash\": \"0a11b0c7e25dc5d9c63171bdf39d9741b901dc903e12b4e162348e07\"\n",
"}\n",
"EOI"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "24b8c166-00bb-4d30-a472-f88bca5455be",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\n"
]
}
],
"source": [
"POLICY_ID=$(cardano-cli transaction policyid --script-file mint.json)\n",
"echo $POLICY_ID"
]
},
{
"cell_type": "markdown",
"id": "dd81973c-4296-48d2-ada9-99a09287c6aa",
"metadata": {},
"source": [
"## Mint copy of prize tokens"
]
},
{
"cell_type": "markdown",
"id": "b1ace0dd-363f-4ee6-b6dd-86c09217ac53",
"metadata": {},
"source": [
"### First prize"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "3d291c13-d948-4b2c-99e2-1e72f15c9a8c",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"48b292931a3bfc94370664dc07f2b13081c209149538dce80619fe8b98613d81#0\n"
]
}
],
"source": [
"TX_IN=$(\n",
"marlowe-cli util select \\\n",
" --lovelace-only $((10 * ADA)) \\\n",
" $PAYMENT_ADDR \\\n",
"| sed -n -e 's/^TxIn \"\\(.*\\)\" (TxIx \\(.*\\))$/\\1#\\2/;1p' \\\n",
")\n",
"echo $TX_IN"
]
},
{
"cell_type": "code",
"execution_count": 290,
"id": "472f6afa-fa5f-4b96-9e23-aa70ed178799",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"addr_test1qqe342swyfn75mp2anj45f8ythjyxg6m7pu0pznptl6f2d84kwuzrh8c83gzhrq5zcw7ytmqc863z5rhhwst3w4x87eq0td9ja\n"
]
}
],
"source": [
"TARGET_ADDR=$NICOLAS_ADDR\n",
"echo $TARGET_ADDR"
]
},
{
"cell_type": "code",
"execution_count": 291,
"id": "95459131-da83-41b5-b6f2-e9cd33678b17",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6535434e43416c6131393537+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6537434e43416c6131353234+100000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.484f534b59+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d6574657261426c75653236+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.636e632e616c612d726166666c6531+125000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d495241+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6531434e43416c6131353837+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6532434e43416c6131363238+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6533434e43416c6131323633+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6534434e43416c6130393030+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6536434e43416c6131353337+700000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.50524f584945+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.50726f786965576f6d62+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.000de1404f544b50697261746532343835+60000000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4e45574d+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4669727374436f756e63696c30373437+350000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.456d706f7761+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4761796130383639+60000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.434e43416c61+350000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4f544b2052756d+25000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.484f534b59+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.436861696e734f665761723038323731\n"
]
}
],
"source": [
"VALUE=$(\n",
"for a in ${PRIZE1_ADDR[@]}\n",
"do\n",
" curl -sS -H \"project_id: $BLOCKFROST_KEY\" \\\n",
" https://cardano-mainnet.blockfrost.io/api/v0/addresses/$a\n",
"done | jq -rs 'map(.amount) | add | map(select(.unit != \"lovelace\") | .quantity + \" '$POLICY_ID'.\" + .unit[56:]) | join(\"+\")'\n",
")\n",
"echo $VALUE"
]
},
{
"cell_type": "code",
"execution_count": 292,
"id": "75fe172c-bd2a-4d9a-937f-b86357c175d2",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Estimated transaction fee: Lovelace 201625\n"
]
}
],
"source": [
"cardano-cli transaction build \\\n",
" --testnet-magic 1 \\\n",
" --babbage-era \\\n",
" --tx-in $TX_IN \\\n",
" --tx-out \"$TARGET_ADDR+$((10 * ADA))+$VALUE\" \\\n",
" --mint \"$VALUE\" \\\n",
" --mint-script-file mint.json \\\n",
" --change-address $PAYMENT_ADDR \\\n",
" --out-file tx.unsigned"
]
},
{
"cell_type": "code",
"execution_count": 293,
"id": "688434ec-0858-463b-84e4-089472c2a3fa",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"cardano-cli transaction sign \\\n",
" --testnet-magic 1 \\\n",
" --signing-key-file $PAYMENT_SKEY \\\n",
" --tx-body-file tx.unsigned \\\n",
" --out-file tx.signed"
]
},
{
"cell_type": "code",
"execution_count": 294,
"id": "eb201f90-0cae-403a-8719-8da388f36a39",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Transaction successfully submitted.\n"
]
}
],
"source": [
"cardano-cli transaction submit \\\n",
" --testnet-magic 1 \\\n",
" --tx-file tx.signed"
]
},
{
"cell_type": "code",
"execution_count": 295,
"id": "37150daf-32ab-469d-813c-82317be56a24",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cde7be32f354202f0f74c73086821e34bbbc05220041ac2a7094bfd65bdcecde\n"
]
}
],
"source": [
"TX_ID=$(cardano-cli transaction txid --tx-file tx.signed)\n",
"echo $TX_ID"
]
},
{
"cell_type": "code",
"execution_count": 329,
"id": "c3eab27e-a249-404e-adcf-d084f287d14f",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 1 100000000 1 1 125000 1 1 1 1 1 700000000 1 1 60000000000 1 350000000 1 60000 350000 25000000 1\n"
]
}
],
"source": [
"QUANTITIES=($(echo '\"'$VALUE'\"' | jq -r 'split(\"+\") | map(split(\" \") | .[0]) | join(\" \")'))\n",
"echo ${QUANTITIES[@]}"
]
},
{
"cell_type": "code",
"execution_count": 330,
"id": "66d68894-9705-46df-8481-d8783dc5e301",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\n"
]
}
],
"source": [
"POLICIES=($(echo '\"'$VALUE'\"' | jq -r 'split(\"+\") | map(split(\" \") | .[1] | split(\".\") | .[0]) | join(\" \")'))\n",
"echo ${POLICIES[@]}"
]
},
{
"cell_type": "code",
"execution_count": 332,
"id": "85c64958-99ea-4ea7-83ff-e3e61e407160",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"4d696c6573746f6e6535434e43416c6131393537 4d696c6573746f6e6537434e43416c6131353234 484f534b59 4d6574657261426c75653236 636e632e616c612d726166666c6531 4d495241 4d696c6573746f6e6531434e43416c6131353837 4d696c6573746f6e6532434e43416c6131363238 4d696c6573746f6e6533434e43416c6131323633 4d696c6573746f6e6534434e43416c6130393030 4d696c6573746f6e6536434e43416c6131353337 50524f584945 50726f786965576f6d62 000de1404f544b50697261746532343835 4e45574d 4669727374436f756e63696c30373437 456d706f7761 4761796130383639 434e43416c61 4f544b2052756d 484f534b59 436861696e734f665761723038323731\n"
]
}
],
"source": [
"NAMES=($(echo '\"'$VALUE'\"' | jq -r 'split(\"+\") | map(split(\" \") | .[1] | split(\".\") | .[1]) | join(\" \")'))\n",
"echo ${NAMES[@]}"
]
},
{
"cell_type": "markdown",
"id": "27f4cf99-8788-4123-8093-f63858d1d4ff",
"metadata": {},
"source": [
"### Second prize"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "17881c56-3e78-4617-a3dd-1e5ffd14c0dd",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2aca2d991f989c0643117195de567ad909929b0c265bb8a73c6e438206d5d89c#0\n"
]
}
],
"source": [
"TX_IN=$(\n",
"marlowe-cli util select \\\n",
" --lovelace-only $((100 * ADA)) \\\n",
" $PAYMENT_ADDR \\\n",
"| sed -n -e 's/^TxIn \"\\(.*\\)\" (TxIx \\(.*\\))$/\\1#\\2/;1p' \\\n",
")\n",
"echo $TX_IN"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "ec85610f-adb5-41ac-bbe8-ffd47d5537a3",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"addr_test1qq0acgkfkgeeuezdy2fn2y5mxhn9zcvrjesxxen4k2d2t2zrhp2etmnsef6wnpvrsu5n80kxceafnxpv5te923agndxs5c4ter\n"
]
}
],
"source": [
"TARGET_ADDR=$TOMASZ_ADDR\n",
"echo $TARGET_ADDR"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "1fe680b5-a18f-4de2-a564-fe536a9f9454",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"50000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d495241+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6531434e43416c6130363239+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6532434e43416c6131353338+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6533434e43416c6130373839+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6534434e43416c6130333535+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6535434e43416c6131343835+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6536434e43416c6131323732+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6537434e43416c6131303033+200000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.50524f584945+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d65636861537461673031343331+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.576973646f6d30313037+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4a41524f44495254343835+35000000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4e45574d+100000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.456d706f7761+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.5361627265636174313234+35000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.434e43416c61+100000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4f544b2052756d+50000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.484f534b59+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.48617264466f726b456173656c6c6530303234+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d6574657261426c75653237+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.636e632e616c612d726166666c6532\n"
]
}
],
"source": [
"VALUE=$(\n",
"for a in ${PRIZE2_ADDR[@]}\n",
"do\n",
" curl -sS -H \"project_id: $BLOCKFROST_KEY\" \\\n",
" https://cardano-mainnet.blockfrost.io/api/v0/addresses/$a\n",
"done | jq -rs 'map(.amount) | add | map(select(.unit != \"lovelace\") | .quantity + \" '$POLICY_ID'.\" + .unit[56:]) | join(\"+\")'\n",
")\n",
"echo $VALUE"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "4cb56159-a76f-45ad-8e53-88615356ee85",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Estimated transaction fee: Lovelace 201273\n"
]
}
],
"source": [
"cardano-cli transaction build \\\n",
" --testnet-magic 1 \\\n",
" --babbage-era \\\n",
" --tx-in $TX_IN \\\n",
" --tx-out \"$TARGET_ADDR+$((10 * ADA))+$VALUE\" \\\n",
" --mint \"$VALUE\" \\\n",
" --mint-script-file mint.json \\\n",
" --change-address $PAYMENT_ADDR \\\n",
" --out-file tx.unsigned"
]
},
{
"cell_type": "code",
"execution_count": 49,
"id": "20ab0567-e2b9-4adc-a3ae-037010ff6395",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"cardano-cli transaction sign \\\n",
" --testnet-magic 1 \\\n",
" --signing-key-file $PAYMENT_SKEY \\\n",
" --tx-body-file tx.unsigned \\\n",
" --out-file tx.signed"
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "522a7f1e-9ca0-481a-bcee-cc20934c66d5",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Transaction successfully submitted.\n"
]
}
],
"source": [
"cardano-cli transaction submit \\\n",
" --testnet-magic 1 \\\n",
" --tx-file tx.signed"
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "99d37454-83ee-4da9-a4bc-03486a153305",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"7e123af71abf254e747572f362a1cd0134463d566c75b816ff87447780a689a5\n"
]
}
],
"source": [
"TX_PRIZE2=$(cardano-cli transaction txid --tx-file tx.signed)\n",
"echo $TX_PRIZE2"
]
},
{
"cell_type": "markdown",
"id": "fdb60e7f-90ac-4f30-8573-418e5d5c48a5",
"metadata": {},
"source": [
"### Third prize"
]
},
{
"cell_type": "code",
"execution_count": 52,
"id": "9a1314c2-06b3-42d9-bb3b-e285549c9874",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"7e123af71abf254e747572f362a1cd0134463d566c75b816ff87447780a689a5#0\n"
]
}
],
"source": [
"TX_IN=$(\n",
"marlowe-cli util select \\\n",
" --lovelace-only $((100 * ADA)) \\\n",
" $PAYMENT_ADDR \\\n",
"| sed -n -e 's/^TxIn \"\\(.*\\)\" (TxIx \\(.*\\))$/\\1#\\2/;1p' \\\n",
")\n",
"echo $TX_IN"
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "35783382-df8d-4468-8b6b-91c63e078da7",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"addr_test1qq0acgkfkgeeuezdy2fn2y5mxhn9zcvrjesxxen4k2d2t2zrhp2etmnsef6wnpvrsu5n80kxceafnxpv5te923agndxs5c4ter\n"
]
}
],
"source": [
"TARGET_ADDR=$TOMASZ_ADDR\n",
"echo $TARGET_ADDR"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "c4ff7c8b-3ee0-4e2d-90b8-83d70f1f45ce",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"25000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d495241+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6531434e43416c6130303634+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6532434e43416c6131333239+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6533434e43416c6130373233+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6534434e43416c6130303434+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6535434e43416c6131333730+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6536434e43416c6130333635+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6537434e43416c6130373033+100000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.50524f584945+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d65636861537461673032333331+5000000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4e45574d+50000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.456d706f7761+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4f544b46616d696c794372657374333230+5000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.434e43416c61+50000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4f544b2052756d+25000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.484f534b59+100000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.50494e4b50414e54484552+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d6574657261426c75653239+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.77686572657343617264616e6f50726f7869657357616c646f363739+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.576973646f6d4f7264696e616c7330333032+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.636e632e616c612d726166666c6533\n"
]
}
],
"source": [
"VALUE=$(\n",
"for a in ${PRIZE3_ADDR[@]}\n",
"do\n",
" curl -sS -H \"project_id: $BLOCKFROST_KEY\" \\\n",
" https://cardano-mainnet.blockfrost.io/api/v0/addresses/$a\n",
"done | jq -rs 'map(.amount) | add | map(select(.unit != \"lovelace\") | .quantity + \" '$POLICY_ID'.\" + .unit[56:]) | join(\"+\")'\n",
")\n",
"echo $VALUE"
]
},
{
"cell_type": "code",
"execution_count": 55,
"id": "7ca9a6a0-a2e8-41a0-8aed-e38a0e7e25dd",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Estimated transaction fee: Lovelace 203561\n"
]
}
],
"source": [
"cardano-cli transaction build \\\n",
" --testnet-magic 1 \\\n",
" --babbage-era \\\n",
" --tx-in $TX_IN \\\n",
" --tx-out \"$TARGET_ADDR+$((10 * ADA))+$VALUE\" \\\n",
" --mint \"$VALUE\" \\\n",
" --mint-script-file mint.json \\\n",
" --change-address $PAYMENT_ADDR \\\n",
" --out-file tx.unsigned"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "477c6e75-a8e2-4320-a602-16f47ed0f697",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"cardano-cli transaction sign \\\n",
" --testnet-magic 1 \\\n",
" --signing-key-file $PAYMENT_SKEY \\\n",
" --tx-body-file tx.unsigned \\\n",
" --out-file tx.signed"
]
},
{
"cell_type": "code",
"execution_count": 57,
"id": "7b31e9d9-1484-4841-bef9-fc4d50220699",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Transaction successfully submitted.\n"
]
}
],
"source": [
"cardano-cli transaction submit \\\n",
" --testnet-magic 1 \\\n",
" --tx-file tx.signed"
]
},
{
"cell_type": "code",
"execution_count": 58,
"id": "9f95ab9a-7797-472c-8d79-c48de0796858",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"12e4b72a35419c4bdedbcdc3e446ea0373e6d4d099fa084bdd370a571cdbabdd\n"
]
}
],
"source": [
"TX_PRIZE3=$(cardano-cli transaction txid --tx-file tx.signed)\n",
"echo $TX_PRIZE3"
]
},
{
"cell_type": "markdown",
"id": "c0e12bd6-1be5-4d07-a97f-a7f5e7f035fb",
"metadata": {},
"source": [
"## Deposit test"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "fab9b3f8-f9fe-41bc-89b5-546cfd36b87f",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"cat << EOI > contract.hs\n",
"\n",
"{-# LANGUAGE NumericUnderscores #-}\n",
"{-# LANGUAGE OverloadedStrings #-}\n",
"{-# LANGUAGE PackageImports #-}\n",
"{-# LANGUAGE Trustworthy #-}\n",
"\n",
"module Main (\n",
"-- * Entry point\n",
" main\n",
") where\n",
"\n",
"import Data.Aeson ((.=), encodeFile)\n",
"import Data.List.Split (chunksOf)\n",
"import Data.Either (fromRight)\n",
"import Data.Maybe (fromJust)\n",
"import Data.String (fromString)\n",
"import Data.Text (pack)\n",
"import Language.Marlowe.Core.V1.Semantics.Types\n",
"import Language.Marlowe.Core.V1.Semantics.Types.Address (deserialiseAddressBech32)\n",
"import Plutus.V2.Ledger.Api (POSIXTime(..), TokenName(..), toBuiltin)\n",
"import System.Environment (getArgs)\n",
"\n",
"import qualified \"base16-bytestring\" Data.ByteString.Base16 as BS16\n",
"\n",
"-- | Print the contract.\n",
"main :: IO ()\n",
"main =\n",
" do\n",
" [address, deadline] <- getArgs\n",
" let\n",
" readAddress = uncurry Address . fromJust . deserialiseAddressBech32 . pack\n",
" readName = TokenName . toBuiltin . fromRight (error \"Failed reading token name.\") . BS16.decode\n",
" address' = readAddress address\n",
" deadline' = POSIXTime $ read deadline\n",
" contract =\n",
" makeDeposit address' (Token \"\" \"\") 500_000_000 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"4d696c6573746f6e6535434e43416c6131393537\") 1 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"4d696c6573746f6e6537434e43416c6131353234\") 1 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"484f534b59\") 100000000 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"4d6574657261426c75653236\") 1 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"\") 1 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"\") 1 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"\") 1 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"\") 1 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"\") 1 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"\") 1 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"\") 1 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"\") 1 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"\") 1 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"\") 1 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"\") 1 deadline'\n",
" $ makeDeposit address' (Token \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\" $ readName \"\") 1 deadline'\n",
" $ Close\n",
"1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d6574657261426c75653236+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.636e632e616c612d726166666c6531+125000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d495241+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6531434e43416c6131353837+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6532434e43416c6131363238+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6533434e43416c6131323633+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6534434e43416c6130393030+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6536434e43416c6131353337+700000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.50524f584945+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.50726f786965576f6d62+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.000de1404f544b50697261746532343835+60000000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4e45574d+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4669727374436f756e63696c30373437+350000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.456d706f7761+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4761796130383639+60000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.434e43416c61+350000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4f544b2052756d+25000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.484f534b59+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.436861696e734f665761723038323731\n",
"encodeFile \"contract.json\" contract\n",
"\n",
"makeDeposit\n",
" :: Party\n",
" -> Token\n",
" -> Integer\n",
" -> POSIXTime\n",
" -> Contract\n",
" -> Contract\n",
"makeDeposit party token amount deadline contract =\n",
" When\n",
" [Case (Deposit party party token (Constant amount)) contract]\n",
" deadline\n",
" Close\n",
"\n",
"makePayment\n",
" :: Party\n",
" -> Party\n",
" -> Token\n",
" -> Integer\n",
" -> Contract\n",
" -> Contract\n",
"makePayment party party' token amount =\n",
" Pay party (Party party') token (Constant amount)\n",
"EOI"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "af968ca5-cf1a-4ecf-a9a2-65665f85235c",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"runhaskell contract.hs \\\n",
" $PAYMENT_ADDR \\\n",
" $((1000 * ($(date -u +%s) + 1 * 60 * 60)))"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "9eee1441-c61a-4f5d-a3e5-b27b0eadf998",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"timeout: 1689194785000\n",
"timeout_continuation: close\n",
"when:\n",
"- case:\n",
" deposits: 500000000\n",
" into_account:\n",
" address: addr_test1vq9prvx8ufwutkwxx9cmmuuajaqmjqwujqlp9d8pvg6gupczgtm9j\n",
" of_token:\n",
" currency_symbol: ''\n",
" token_name: ''\n",
" party:\n",
" address: addr_test1vq9prvx8ufwutkwxx9cmmuuajaqmjqwujqlp9d8pvg6gupczgtm9j\n",
" then:\n",
" timeout: 1689194785000\n",
" timeout_continuation: close\n",
" when:\n",
" - case:\n",
" deposits: 1\n",
" into_account:\n",
" address: addr_test1vq9prvx8ufwutkwxx9cmmuuajaqmjqwujqlp9d8pvg6gupczgtm9j\n",
" of_token:\n",
" currency_symbol: 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\n",
" token_name: Milestone5CNCAla1957\n",
" party:\n",
" address: addr_test1vq9prvx8ufwutkwxx9cmmuuajaqmjqwujqlp9d8pvg6gupczgtm9j\n",
" then: close\n"
]
}
],
"source": [
"json2yaml contract.json"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "bd32d538-96b6-44b2-910c-96f21cff9fb8",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "d53177eb-0ac2-47e8-8cfe-477cd7b69624",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "1bb7959d-bb3d-4340-99fa-c31e433ee347",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "431efaac-d016-4fa5-9d03-aca3406f1dfc",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 14,
"id": "03e19a67-f7be-40b1-a372-cc8d6b731cfa",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"ROLE_POLICY=8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\n",
"ROLE_NAME=WithdrawalTest1"
]
},
{
"cell_type": "code",
"execution_count": 254,
"id": "74dbf3c2-b1ef-419d-95fc-f2c72b146484",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"POLICY_ID=8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "09f258e7-473f-4eb6-8531-1f31fb98ac7a",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Fee: Lovelace 295125\n",
"Size: 1822 / 16384 = 11%\n",
"Execution units:\n",
" Memory: 0 / 14000000 = 0%\n",
" Steps: 0 / 10000000000 = 0%\n",
"PolicyID \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\"\n"
]
}
],
"source": [
"marlowe-cli util mint \\\n",
" --issuer $PAYMENT_ADDR:$PAYMENT_SKEY \\\n",
" --out-file /dev/null \\\n",
" --submit 600 \\\n",
" $ROLE_NAME:$NICOLAS_ADDR"
]
},
{
"cell_type": "code",
"execution_count": 83,
"id": "ceb9d719-992f-4f76-a85c-78b9fb4535f7",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"addr_test1wrsk2cgzxg34hwa7ladenzer8k4wg2temmyj5eezm8x6nzg2u8ua0\n"
]
}
],
"source": [
"PAYOUT_ADDR=$(marlowe-cli role address)\n",
"echo $PAYOUT_ADDR"
]
},
{
"cell_type": "code",
"execution_count": 84,
"id": "5c69886b-1bbd-4fca-ba47-b169e6cdfb29",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"yaml2json << EOI > contract.json\n",
"from_account:\n",
" address: $PAYMENT_ADDR\n",
"pay: $((10 * ADA))\n",
"then: close\n",
"to:\n",
" party:\n",
" role_token: $ROLE_NAME\n",
"token:\n",
" currency_symbol: ''\n",
" token_name: ''\n",
"EOI"
]
},
{
"cell_type": "code",
"execution_count": 86,
"id": "bccf1813-bf75-4b0c-b9f1-cd83e2a3922f",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"ADA=1000000"
]
},
{
"cell_type": "code",
"execution_count": 87,
"id": "24aed25f-faa4-4249-b7a8-27dc0895e532",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\"{\\\"contractId\\\":\\\"132141835e316f0e760e898a3307b372ee716e03a4087cc2090168d1af6bde1b#1\\\"}\"\n"
]
}
],
"source": [
"marlowe-runtime-cli create \\\n",
" --core-file contract.json \\\n",
" --role-token-policy-id $ROLE_POLICY \\\n",
" --min-utxo $((10 * ADA)) \\\n",
" --change-address $PAYMENT_ADDR \\\n",
" --manual-sign tx.unsigned"
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "e59b8fa5-8143-4454-b09a-7fd51684051a",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"TxId \"c452915e7e68744e47692a7ea48bbf4a90f3e1b39a772ffd31feda0a245177ca\"\n"
]
}
],
"source": [
"marlowe-cli transaction submit \\\n",
" --tx-body-file tx.unsigned \\\n",
" --required-signer $PAYMENT_SKEY \\\n",
" --timeout 600s"
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "3d8ca646-22dd-4867-9c33-b4c63a83287c",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\"{\\\"txId\\\":\\\"7119204480a2565d5ece686a0f1627b25f2f534ef07ba9718c10840ec7695ec6\\\"}\"\n"
]
}
],
"source": [
"marlowe-runtime-cli advance \\\n",
" --contract c452915e7e68744e47692a7ea48bbf4a90f3e1b39a772ffd31feda0a245177ca#1 \\\n",
" --change-address $PAYMENT_ADDR \\\n",
" --manual-sign tx.unsigned"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "c99182d1-1124-4c50-bd20-844bb7088d01",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"TxId \"7119204480a2565d5ece686a0f1627b25f2f534ef07ba9718c10840ec7695ec6\"\n"
]
}
],
"source": [
"marlowe-cli transaction submit \\\n",
" --tx-body-file tx.unsigned \\\n",
" --required-signer $PAYMENT_SKEY \\\n",
" --timeout 600s"
]
},
{
"cell_type": "code",
"execution_count": 61,
"id": "a79305bd-0e8f-4f0f-a816-bfc9840f1f4a",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"cat << EOI > datum.json\n",
"{\n",
" \"constructor\": 0,\n",
" \"fields\": [\n",
" {\n",
" \"bytes\": \"8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\"\n",
" },\n",
" {\n",
" \"bytes\": \"5769746864726177616c5465737431\"\n",
" }\n",
" ]\n",
"}\n",
"EOI"
]
},
{
"cell_type": "code",
"execution_count": 88,
"id": "ab141bba-1ada-40b2-92c6-baf513c46417",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" TxHash TxIx Amount\n",
"--------------------------------------------------------------------------------------\n",
"65a0861ab6734872a76ae22e5d3a357176d8f0852c7e890b618c5a8de9ef6362 0 52282306731 lovelace + TxOutDatumNone\n",
"7119204480a2565d5ece686a0f1627b25f2f534ef07ba9718c10840ec7695ec6 0 9577609 lovelace + TxOutDatumNone\n",
"a0074fb2d99e7382bb7019263435da384d8988d5773a81ad90fb5c72702fdb22 1 200000000 lovelace + 23 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.632e6d61726c6f7765 + 23 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.652e63617279 + 23 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e626561756d6f6e74 + 23 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e77656273746572 + 23 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6d2e68657262657274 + 23 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.772e7368616b65737065617265 + TxOutDatumNone\n",
"a0074fb2d99e7382bb7019263435da384d8988d5773a81ad90fb5c72702fdb22 2 100000000 lovelace + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.632e6d61726c6f7765 + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.652e63617279 + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e62656175666f6e74 + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e626561756d6f6e74 + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e6c756d6c6579 + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e77656273746572 + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6d2e68657262657274 + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.772e7368616b65737065617265 + TxOutDatumNone\n",
"a0074fb2d99e7382bb7019263435da384d8988d5773a81ad90fb5c72702fdb22 3 100000000 lovelace + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.632e6d61726c6f7765 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.64656c6179666565646261636b + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.652e63617279 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e62656175666f6e74 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e626561756d6f6e74 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6761696e + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e6c756d6c6579 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e77656273746572 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6c656761746f + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6d2e68657262657274 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6e + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6e6f7465 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.7265736f6e616e6365 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.726f6f6d + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.736f756e64 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.7370656564 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.766f77656c + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.772e7368616b65737065617265 + TxOutDatumNone\n",
"a0074fb2d99e7382bb7019263435da384d8988d5773a81ad90fb5c72702fdb22 4 5000000000 lovelace + 23 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e6c756d6c6579 + TxOutDatumNone\n",
"a0074fb2d99e7382bb7019263435da384d8988d5773a81ad90fb5c72702fdb22 5 21826500000 lovelace + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.632e6d61726c6f7765 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.652e63617279 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e626561756d6f6e74 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e6c756d6c6579 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e77656273746572 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6d2e68657262657274 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.772e7368616b65737065617265 + TxOutDatumNone\n",
"a0074fb2d99e7382bb7019263435da384d8988d5773a81ad90fb5c72702fdb22 6 100000000 lovelace + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.632e6d61726c6f7765 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.652e63617279 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e62656175666f6e74 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e626561756d6f6e74 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e6c756d6c6579 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e77656273746572 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6d2e68657262657274 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.772e7368616b65737065617265 + TxOutDatumNone\n",
"a0074fb2d99e7382bb7019263435da384d8988d5773a81ad90fb5c72702fdb22 7 2294000000 lovelace + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.632e6d61726c6f7765 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.652e63617279 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e626561756d6f6e74 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e6c756d6c6579 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e77656273746572 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6d2e68657262657274 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.772e7368616b65737065617265 + TxOutDatumNone\n"
]
}
],
"source": [
"cardano-cli query utxo --testnet-magic 1 --address $PAYMENT_ADDR"
]
},
{
"cell_type": "code",
"execution_count": 76,
"id": "5175de1e-4f20-45cf-bc23-f132b80a3eac",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"cardano-cli query protocol-parameters \\\n",
" --testnet-magic 1 \\\n",
" --out-file protocol.json"
]
},
{
"cell_type": "code",
"execution_count": 250,
"id": "b82e93ee-fa50-44af-af46-b6b68221cdee",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Command failed: transaction build Error: The following tx input(s) were not present in the UTxO: \n",
"65a0861ab6734872a76ae22e5d3a357176d8f0852c7e890b618c5a8de9ef6362#0\n"
]
},
{
"ename": "",
"evalue": "1",
"output_type": "error",
"traceback": []
}
],
"source": [
"cardano-cli transaction build \\\n",
" --babbage-era \\\n",
" --testnet-magic 1 \\\n",
" --protocol-params-file protocol.json \\\n",
" --tx-in 65a0861ab6734872a76ae22e5d3a357176d8f0852c7e890b618c5a8de9ef6362#0 \\\n",
" --tx-out \"$PAYOUT_ADDR+$((10 * ADA))\" \\\n",
" --tx-out-datum-embed-file datum.json \\\n",
" --change-address $PAYMENT_ADDR \\\n",
" --out-file tx.unsigned"
]
},
{
"cell_type": "code",
"execution_count": 90,
"id": "fbadba28-1f35-4d4d-bbb8-ff4b57932d0b",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"auxiliary scripts: null\n",
"certificates: null\n",
"collateral inputs: []\n",
"era: Babbage\n",
"fee: 171177 Lovelace\n",
"inputs:\n",
"- 65a0861ab6734872a76ae22e5d3a357176d8f0852c7e890b618c5a8de9ef6362#0\n",
"metadata: null\n",
"mint: null\n",
"outputs:\n",
"- address: addr_test1vq9prvx8ufwutkwxx9cmmuuajaqmjqwujqlp9d8pvg6gupczgtm9j\n",
" address era: Shelley\n",
" amount:\n",
" lovelace: 52272135554\n",
" datum: null\n",
" network: Testnet\n",
" payment credential key hash: 0a11b0c7e25dc5d9c63171bdf39d9741b901dc903e12b4e162348e07\n",
" reference script: null\n",
" stake reference: null\n",
"- address: addr_test1wrsk2cgzxg34hwa7ladenzer8k4wg2temmyj5eezm8x6nzg2u8ua0\n",
" address era: Shelley\n",
" amount:\n",
" lovelace: 10000000\n",
" datum:\n",
" constructor: 0\n",
" fields:\n",
" - bytes: 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d\n",
" - bytes: 5769746864726177616c5465737431\n",
" network: Testnet\n",
" payment credential script hash: e165610232235bbbbeff5b998b233daae42979dec92a6722d9cda989\n",
" reference script: null\n",
" stake reference: null\n",
"required signers (payment key hashes needed for scripts): null\n",
"update proposal: null\n",
"validity range:\n",
" lower bound: null\n",
" upper bound: null\n",
"withdrawals: null\n"
]
}
],
"source": [
"cardano-cli transaction view --tx-body-file tx.unsigned"
]
},
{
"cell_type": "code",
"execution_count": 91,
"id": "e6566d1a-041c-4bee-be00-cdeee1f8bf09",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"cardano-cli transaction sign \\\n",
" --testnet-magic 1 \\\n",
" --tx-body-file tx.unsigned \\\n",
" --signing-key-file $PAYMENT_SKEY \\\n",
" --out-file tx.signed"
]
},
{
"cell_type": "code",
"execution_count": 92,
"id": "99af6f7a-5890-44a9-bd9a-3f4111da95ba",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Transaction successfully submitted.\n"
]
}
],
"source": [
"cardano-cli transaction submit \\\n",
" --testnet-magic 1 \\\n",
" --tx-file tx.signed"
]
},
{
"cell_type": "code",
"execution_count": 93,
"id": "e420f00e-b224-4f8f-aec7-54f1cc88e01e",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"addr_test1wrsk2cgzxg34hwa7ladenzer8k4wg2temmyj5eezm8x6nzg2u8ua0\n"
]
}
],
"source": [
"echo $PAYOUT_ADDR"
]
},
{
"cell_type": "code",
"execution_count": 96,
"id": "4c9f1a34-642f-47b8-ac62-57b715b17a44",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"cardano-cli: Network.Socket.connect: <socket: 11>: does not exist (No such file or directory)"
]
},
{
"ename": "",
"evalue": "1",
"output_type": "error",
"traceback": []
}
],
"source": [
"CARDANO_NODE_SOCKET_PATH=~/.local/share/Daedalus/mainnet/cardano-node.socket cardano-cli query tip --mainnet"
]
},
{
"cell_type": "code",
"execution_count": 120,
"id": "16129924-fa40-41bd-b657-f3229cd01aed",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[34m[lemur:cardano.node.ChainDB:Info:22]\u001b[0m [2023-07-12 11:54:34.43 UTC] Validated chunk no. 4380 out of 4515. Progress: 97.01%\n",
"\u001b[34m[lemur:cardano.node.ChainDB:Info:22]\u001b[0m [2023-07-12 11:54:34.43 UTC] Validating chunk no. 4381 out of 4515. Progress: 97.01%\n",
"\u001b[34m[lemur:cardano.node.ChainDB:Info:22]\u001b[0m [2023-07-12 11:54:35.65 UTC] Validated chunk no. 4381 out of 4515. Progress: 97.03%\n",
"\u001b[34m[lemur:cardano.node.ChainDB:Info:22]\u001b[0m [2023-07-12 11:54:35.65 UTC] Validating chunk no. 4382 out of 4515. Progress: 97.03%\n",
"\u001b[34m[lemur:cardano.node.ChainDB:Info:22]\u001b[0m [2023-07-12 11:54:37.05 UTC] Validated chunk no. 4382 out of 4515. Progress: 97.05%\n",
"\u001b[34m[lemur:cardano.node.ChainDB:Info:22]\u001b[0m [2023-07-12 11:54:37.05 UTC] Validating chunk no. 4383 out of 4515. Progress: 97.05%\n",
"\u001b[34m[lemur:cardano.node.ChainDB:Info:22]\u001b[0m [2023-07-12 11:54:38.52 UTC] Validated chunk no. 4383 out of 4515. Progress: 97.08%\n",
"\u001b[34m[lemur:cardano.node.ChainDB:Info:22]\u001b[0m [2023-07-12 11:54:38.52 UTC] Validating chunk no. 4384 out of 4515. Progress: 97.08%\n",
"\u001b[34m[lemur:cardano.node.ChainDB:Info:22]\u001b[0m [2023-07-12 11:54:39.85 UTC] Validated chunk no. 4384 out of 4515. Progress: 97.10%\n",
"\u001b[34m[lemur:cardano.node.ChainDB:Info:22]\u001b[0m [2023-07-12 11:54:39.85 UTC] Validating chunk no. 4385 out of 4515. Progress: 97.10%\n"
]
}
],
"source": [
"tail ~/.local/share/Daedalus/mainnet/Logs/pub/node.log"
]
},
{
"cell_type": "code",
"execution_count": 255,
"id": "65ac320b-08f9-4c1e-a19a-53ae87a5863c",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6535434e43416c6131393537+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6537434e43416c6131353234+100000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.484f534b59+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d6574657261426c75653236+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.636e632e616c612d726166666c6531+125000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d495241+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6531434e43416c6131353837+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6532434e43416c6131363238+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6533434e43416c6131323633+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6534434e43416c6130393030+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6536434e43416c6131353337+700000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.50524f584945+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.50726f786965576f6d62+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.000de1404f544b50697261746532343835+60000000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4e45574d+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4669727374436f756e63696c30373437+350000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.456d706f7761+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4761796130383639+60000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.434e43416c61+350000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4f544b2052756d+25000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.484f534b59+1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.436861696e734f665761723038323731\n"
]
}
],
"source": [
"VALUE=$(\n",
"for a in ${PRIZE1_ADDR[@]}\n",
"do\n",
" curl -sS -H \"project_id: $BLOCKFROST_KEY\" \\\n",
" https://cardano-mainnet.blockfrost.io/api/v0/addresses/$a\n",
"done | jq -rs 'map(.amount) | add | map(select(.unit != \"lovelace\") | .quantity + \" '$POLICY_ID'.\" + .unit[56:]) | join(\"+\")'\n",
")\n",
"echo $VALUE"
]
},
{
"cell_type": "code",
"execution_count": 257,
"id": "b358ad81-faa8-44d4-abe3-da0daf002128",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Estimated transaction fee: Lovelace 200393\n"
]
}
],
"source": [
"cardano-cli transaction build \\\n",
" --testnet-magic 1 \\\n",
" --babbage-era \\\n",
" --tx-in $TX_IN \\\n",
" --tx-out \"$PAYMENT_ADDR+$((10 * ADA))+$VALUE\" \\\n",
" --mint \"$VALUE\" \\\n",
" --mint-script-file mint.json \\\n",
" --change-address $PAYMENT_ADDR \\\n",
" --out-file tx.unsigned"
]
},
{
"cell_type": "code",
"execution_count": 258,
"id": "7b02d2cb-a32f-463f-b287-46bd1db00c5c",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"cardano-cli transaction sign \\\n",
" --testnet-magic 1 \\\n",
" --signing-key-file $PAYMENT_SKEY \\\n",
" --tx-body-file tx.unsigned \\\n",
" --out-file tx.signed"
]
},
{
"cell_type": "code",
"execution_count": 260,
"id": "04038365-8a06-4cb2-9be3-08a85ded520e",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Transaction successfully submitted.\n"
]
}
],
"source": [
"cardano-cli transaction submit \\\n",
" --testnet-magic 1 \\\n",
" --tx-file tx.signed"
]
},
{
"cell_type": "code",
"execution_count": 266,
"id": "81a74319-44af-434c-9b1d-5698181689de",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"d438505118f2af1d40fc237e2694074c0a64910326107cb9ef9275388004e33c\n"
]
}
],
"source": [
"TX_ID=$(\n",
"cardano-cli transaction txid \\\n",
" --tx-file tx.signed\n",
")\n",
"echo $TX_ID"
]
},
{
"cell_type": "code",
"execution_count": 262,
"id": "2af770c7-4c8b-4b17-b7e6-425f59d7b9f2",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"addr_test1vq9prvx8ufwutkwxx9cmmuuajaqmjqwujqlp9d8pvg6gupczgtm9j\n"
]
}
],
"source": [
"echo $PAYMENT_ADDR"
]
},
{
"cell_type": "code",
"execution_count": 261,
"id": "f8595a01-acea-46ad-a0b1-56e1402f93cc",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" TxHash TxIx Amount\n",
"--------------------------------------------------------------------------------------\n",
"7119204480a2565d5ece686a0f1627b25f2f534ef07ba9718c10840ec7695ec6 0 9577609 lovelace + TxOutDatumNone\n",
"a0074fb2d99e7382bb7019263435da384d8988d5773a81ad90fb5c72702fdb22 1 200000000 lovelace + 23 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.632e6d61726c6f7765 + 23 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.652e63617279 + 23 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e626561756d6f6e74 + 23 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e77656273746572 + 23 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6d2e68657262657274 + 23 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.772e7368616b65737065617265 + TxOutDatumNone\n",
"a0074fb2d99e7382bb7019263435da384d8988d5773a81ad90fb5c72702fdb22 2 100000000 lovelace + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.632e6d61726c6f7765 + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.652e63617279 + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e62656175666f6e74 + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e626561756d6f6e74 + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e6c756d6c6579 + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e77656273746572 + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6d2e68657262657274 + 6 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.772e7368616b65737065617265 + TxOutDatumNone\n",
"a0074fb2d99e7382bb7019263435da384d8988d5773a81ad90fb5c72702fdb22 3 100000000 lovelace + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.632e6d61726c6f7765 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.64656c6179666565646261636b + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.652e63617279 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e62656175666f6e74 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e626561756d6f6e74 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6761696e + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e6c756d6c6579 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e77656273746572 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6c656761746f + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6d2e68657262657274 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6e + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6e6f7465 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.7265736f6e616e6365 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.726f6f6d + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.736f756e64 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.7370656564 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.766f77656c + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.772e7368616b65737065617265 + TxOutDatumNone\n",
"a0074fb2d99e7382bb7019263435da384d8988d5773a81ad90fb5c72702fdb22 4 5000000000 lovelace + 23 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e6c756d6c6579 + TxOutDatumNone\n",
"a0074fb2d99e7382bb7019263435da384d8988d5773a81ad90fb5c72702fdb22 5 21826500000 lovelace + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.632e6d61726c6f7765 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.652e63617279 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e626561756d6f6e74 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e6c756d6c6579 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e77656273746572 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6d2e68657262657274 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.772e7368616b65737065617265 + TxOutDatumNone\n",
"a0074fb2d99e7382bb7019263435da384d8988d5773a81ad90fb5c72702fdb22 6 100000000 lovelace + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.632e6d61726c6f7765 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.652e63617279 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e62656175666f6e74 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e626561756d6f6e74 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e6c756d6c6579 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e77656273746572 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6d2e68657262657274 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.772e7368616b65737065617265 + TxOutDatumNone\n",
"a0074fb2d99e7382bb7019263435da384d8988d5773a81ad90fb5c72702fdb22 7 2294000000 lovelace + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.632e6d61726c6f7765 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.652e63617279 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.662e626561756d6f6e74 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e6c756d6c6579 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6a2e77656273746572 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.6d2e68657262657274 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.772e7368616b65737065617265 + TxOutDatumNone\n",
"d438505118f2af1d40fc237e2694074c0a64910326107cb9ef9275388004e33c 0 52261935161 lovelace + TxOutDatumNone\n",
"d438505118f2af1d40fc237e2694074c0a64910326107cb9ef9275388004e33c 1 10000000 lovelace + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.000de1404f544b50697261746532343835 + 60000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.434e43416c61 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.436861696e734f665761723038323731 + 350000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.456d706f7761 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4669727374436f756e63696c30373437 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4761796130383639 + 125000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.484f534b59 + 125000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d495241 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d6574657261426c75653236 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6531434e43416c6131353837 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6532434e43416c6131363238 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6533434e43416c6131323633 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6534434e43416c6130393030 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6535434e43416c6131393537 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6536434e43416c6131353337 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4d696c6573746f6e6537434e43416c6131353234 + 60000000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4e45574d + 350000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.4f544b2052756d + 700000000 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.50524f584945 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.50726f786965576f6d62 + 1 8bb3b343d8e404472337966a722150048c768d0a92a9813596c5338d.636e632e616c612d726166666c6531 + TxOutDatumNone\n"
]
}
],
"source": [
"cardano-cli query utxo --testnet-magic 1 --address $PAYMENT_ADDR"
]
},
{
"cell_type": "code",
"execution_count": 182,
"id": "fcbafc96-956c-42b5-b293-c2eb68450701",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"125000 160A880D9FC45380737CB7E57FF859763230AAB28B3EF6A84007BFCC.D495241+1 1D779E04B2EE9D64ACB9E747129C10760976AD651696D7E406C39ACB.D696C6573746F6E6531434E43416C6131353837+1 1D779E04B2EE9D64ACB9E747129C10760976AD651696D7E406C39ACB.D696C6573746F6E6532434E43416C6131363238+1 1D779E04B2EE9D64ACB9E747129C10760976AD651696D7E406C39ACB.D696C6573746F6E6533434E43416C6131323633+1 1D779E04B2EE9D64ACB9E747129C10760976AD651696D7E406C39ACB.D696C6573746F6E6534434E43416C6130393030+1 1D779E04B2EE9D64ACB9E747129C10760976AD651696D7E406C39ACB.D696C6573746F6E6536434E43416C6131353337+700000000 20CD68533B47565F3C61EFB39C30FDACE9963BFA4C0060B613448E3C.0524F584945+1 2A6C1EA5B4805B1AABAE53758E9E2E6623E7332CDED72FEF7E1FF8BF.0726F786965576F6D62+1 43528549EC02054E09BCDADB34D27FCF18F699F1E925A86AFD483066.00DE1404F544B50697261746532343835+60000000000 682FE60C9918842B3323C43B5144BC3D52A23BD2FB81345560D73F63.E45574D+1 6B7096AA67F471CE46D2E32206D50C60271DD3EC18727CD1EE946D05.669727374436F756E63696C30373437+350000000 6C8642400E8437F737EB86DF0FC8A8437C760F48592B1BA8F5767E81.56D706F7761+1 6CE2D3C06E323D522D0D1C67B4EBAE39D62549ACC633733E357D6027.761796130383639+60000 7AB95D389C9237EDFB0305FC889825EA4221E82A78446B3C78C0D5B6.34E43416C61+350000 7BF18FF8BBC7CD4ADBF4A31828FC3ADA26FE40F52DE27394EC36B03E.F544B2052756D+25000000 A0028F350AAABE0545FDCB56B039BFB08E4BB4D8C4D7C3C7D481C235.84F534B59+1 A587CE7893EC56FA6136E483499D2A8210E29C34B7DC673446128875.36861696E734F665761723038323731\n"
]
}
],
"source": [
"jq -r '.amount | map(select(.unit != \"lovelace\") | .quantity + \" \" + .unit[0:56] + \".\" + .unit[57:]) | join(\"+\")' prize1.json | tr '[:lower:]' '[:upper:]'"
]
},
{
"cell_type": "code",
"execution_count": 130,
"id": "f44b6494-44e4-4ada-a239-a6e17241350a",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"4D495241\n",
"4D696C6573746F6E6531434E43416C6131353837\n",
"4D696C6573746F6E6532434E43416C6131363238\n",
"4D696C6573746F6E6533434E43416C6131323633\n",
"4D696C6573746F6E6534434E43416C6130393030\n",
"4D696C6573746F6E6536434E43416C6131353337\n",
"50524F584945\n",
"50726F786965576F6D62\n",
"000DE1404F544B50697261746532343835\n",
"4E45574D\n",
"4669727374436F756E63696C30373437\n",
"456D706F7761\n",
"4761796130383639\n",
"434E43416C61\n",
"4F544B2052756D\n",
"484F534B59\n",
"436861696E734F665761723038323731\n",
"curl: (23) Failed writing body\n"
]
}
],
"source": [
"curl -sS -H \"project_id: $BLOCKFROST_KEY\" \\\n",
" --output prize1.json \\\n",
" https://cardano-mainnet.blockfrost.io/api/v0/addresses/${PRIZE1_ADDR[2]}"
]
},
{
"cell_type": "code",
"execution_count": 157,
"id": "ca19394e-757b-496e-afd0-2f9db037f895",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"hexnames=($(jq -r '.amount | .[] | .unit | select(. != \"lovelace\") | .[56:]' prize1.json | tr '[:lower:]' '[:upper:]'))"
]
},
{
"cell_type": "code",
"execution_count": 159,
"id": "1dd5814d-323d-400c-b74a-e82cb0cc1db7",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Milestone4CNCAla0900"
]
}
],
"source": [
"echo -n ${hexnames[4]} | basenc --decode --base16"
]
},
{
"cell_type": "code",
"execution_count": 143,
"id": "f8269b5f-11ed-4791-8810-844d10cc16c3",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Usage: basenc [OPTION]... [FILE]\n",
"basenc encode or decode FILE, or standard input, to standard output.\n",
"\n",
"With no FILE, or when FILE is -, read standard input.\n",
"\n",
"Mandatory arguments to long options are mandatory for short options too.\n",
" --base64 same as 'base64' program (RFC4648 section 4)\n",
" --base64url file- and url-safe base64 (RFC4648 section 5)\n",
" --base32 same as 'base32' program (RFC4648 section 6)\n",
" --base32hex extended hex alphabet base32 (RFC4648 section 7)\n",
" --base16 hex encoding (RFC4648 section 8)\n",
" --base2msbf bit string with most significant bit (msb) first\n",
" --base2lsbf bit string with least significant bit (lsb) first\n",
" -d, --decode decode data\n",
" -i, --ignore-garbage when decoding, ignore non-alphabet characters\n",
" -w, --wrap=COLS wrap encoded lines after COLS character (default 76).\n",
" Use 0 to disable line wrapping\n",
" --z85 ascii85-like encoding (ZeroMQ spec:32/Z85);\n",
" when encoding, input length must be a multiple of 4;\n",
" when decoding, input length must be a multiple of 5\n",
" --help display this help and exit\n",
" --version output version information and exit\n",
"\n",
"When decoding, the input may contain newlines in addition to the bytes of\n",
"the formal alphabet. Use --ignore-garbage to attempt to recover\n",
"from any other non-alphabet bytes in the encoded stream.\n",
"\n",
"GNU coreutils online help: <https://www.gnu.org/software/coreutils/>\n",
"Full documentation <https://www.gnu.org/software/coreutils/basenc>\n",
"or available locally via: info '(coreutils) basenc invocation'\n"
]
}
],
"source": [
"basenc --help"
]
},
{
"cell_type": "code",
"execution_count": 118,
"id": "cc1c7a1a-6572-489a-bc94-37c9a51e8185",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[{\"asset\":\"4b0fc7ab3eb8104f17e4b51b9a179f811297516d95b183f0b5b04f0f\",\"quantity\":\"0\"}]"
]
}
],
"source": [
"curl -H \"project_id: $BLOCKFROST_KEY\" \\\n",
" https://cardano-mainnet.blockfrost.io/api/v0/assets/policy/4b0fc7ab3eb8104f17e4b51b9a179f811297516d95b183f0b5b04f0f"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "25aa8c97-82de-415e-b5cd-0ec91e409de7",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Bash with Marlowe Tools",
"language": "bash",
"name": "bash-minimal"
},
"language_info": {
"codemirror_mode": "shell",
"file_extension": ".sh",
"mimetype": "text/x-sh",
"name": "bash"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment