Thứ Hai, Tháng Chín 26, 2022
25 C
Ho Chi Minh City
spot_img

Bắt đầu với Token gốc

Must read

Openlivenft
Openlivenfthttps://openlivenft.info/
Trang tổng hợp thông tin nhanh - mới nhất về NFT, COIN, Metaverse, tài chính, crypto của OpenliveNFT

Bắt đầu với Token gốc

Điều kiện tiên quyết

Phần này dành cho người dùng nâng cao thành thạo với giao diện dòng lệnh Cardano-node ( CLI ) .
Phần này diễn đạt cách :

  • tạo tiền tệ và tài sản mới;
  • submit và gửi các giao dịch có chứa token đa tài sản (multi-asset);
  • gửi và nhận gói token;
  • quản lý địa chỉ và giá trị của bạn.

Lưu ý : Người dùng không cần tạo gia tài mới ( “ chủ sở hữu token ” ) sẽ hoàn toàn có thể gửi và nhận token đa tài sản ( multi-asset ) hiện có bằng ví như Daedalus hoặc Yoroi và không nhu yếu sử dụng bất kể lệnh CLI nào .

Để bắt đầu, hãy đảm bảo rằng bạn đã quen với việc thiết lập và vận hành node Cardano. Ngoài ra, hãy xem hướng dẫn về cách khởi động node của bạn để gửi các lệnh. Bạn sẽ không cần phải thiết lập và bắt đầu một node tạo khối đầy đủ (“stake pool”), chỉ cần một node chuyển tiếp đơn giản hơn nhiều. Node này sẽ cần kết nối với mạng Cardano có khả năng xử lý native token (token gốc) (ví dụ: môi trường pre-production native token (token gốc) (PPE) hoặc Cardano Mainnet sau khi nó đã được nâng cấp).

Bạn đang đọc: Bắt đầu với Token gốc

Định thông số kỹ thuật relay node bằng Cardano CLI

Tài liệu này miêu tả cách tương tác với node từ dòng lệnh bash, nhưng cũng hoàn toàn có thể tải xuống và chạy node dưới dạng docker image, điều này sẽ yên cầu ít thông số kỹ thuật mạng lưới hệ thống hơn. Docker image là input-output / cardano-node – hãy bảo vệ rằng bạn có phiên bản mới nhất của node .
Để định thông số kỹ thuật node relay tiếp xúc với môi trường tự nhiên pre-production cho kỷ nguyên Mary, thứ nhất hãy kiến thiết xây dựng và thiết lập node như được diễn đạt trong https://github.com/input-output-hk/cardano-node, sau đó thiết lập thông số kỹ thuật :

Mkdir -p mary-ppe/config

cd mary-ppe

# download and save the configuration files to the config subdirectory

Sau đó, bạn có thể sử dụng lệnh sau từ thư mục mary-ppe để bắt đầu node relay. Lưu ý rằng bạn không cần phải định cấu hình và chạy node dưới dạng “stake pool” (node tạo khối):

export CARDANO_NODE_SOCKET_PATH=socket




cardano-node run --topology config/topology.json 

--database-path db --config config/config.json --port 3001

--socket-path "$CARDANO_NODE_SOCKET_PATH"

Các tệp thông số kỹ thuật mới nhất hoàn toàn có thể được tìm thấy tại đây. Bạn sẽ cần tải xuống toàn bộ những tệp được link với cụm launchpad và sao chép chúng vào config thư mục con của bạn .
Khi bạn đã khởi động node, hãy để nó chạy trong hành lang cửa số đầu cuối của chính nó ( hoặc chạy nó ở chính sách nền nếu bạn muốn ) .

Sử dụng Cardano CLI

Khi một node relay đã được thiết lập, cardano-cli lệnh hoàn toàn có thể được sử dụng để tương tác với mạng như thông thường :

cd mary-ppe

cardano-cli ...

Lưu ý rằng tương hỗ đa tài sản ( multi-asset ) được phân phối như một phần của kỷ nguyên đồng thuận Mary, thế cho nên nhiều lệnh sẽ nhu yếu cờ – mary-era :

cardano-cli ... --mary-era

Hiểu những giá trị

Giá trị Lovelace hoàn toàn có thể được chỉ định theo hai cách :

  • USD { quantity } lovelace (trong đó số lượng là một số nguyên có dấu)
  • USD { quantity } (trong đó số lượng là một số nguyên có dấu (signed integer))

Giá trị cho những nội dung khác hoàn toàn có thể được chỉ định như sau :

  • USD { quantity } $ { policyId }. $ { assetName }
  • USD { quantity } $ { policyId }

Trong đó quantity là số nguyên có dấu và policyId là policy ID được mã hóa hex [ mã hash tập lệnh ] và assetName là tên gia tài gồm chữ và số .

Cú pháp của giá trị multi-asset

Có cardano-cli hoàn toàn có thể chỉ định giá trị multi-asset trong output thanh toán giao dịch và khi đúc hoặc đốt token. Cú pháp cho những giá trị này đã được phong cách thiết kế để thích hợp ngược với cú pháp ada-only trước đó ( address + lovelace ) :

  • giá trị ada được định nghĩa là số nguyên (INT) lovelace, ví dụ: 42 lovelace
  • giá trị multi-asset có thể được định nghĩa là:
    • INT policyid.assetname, ví dụ 42 $ MYPOLICY.myassetname
    • INT policyid, ví dụ: 42 $ MYPOLICY (không có tên tài sản được chỉ định)
    • policyid.assetname, ví dụ: USD MYPOLICY.myassetname (Điều này sẽ chỉ đúc một trong số myassetname)
  • Multi-asset có thể được kết hợp trong cùng một giá trị multi-asset bằng cách sử dụng + operator (toán tử), ví dụ:

100 lovelace + 42 $ MYPOLICY.foo + – 2 USD MYPOLICY.bar + 10 lovelace

Điều chỉnh những giá trị riêng không liên quan gì đến nhau

Bất kỳ giá trị riêng không liên quan gì đến nhau nào cũng hoàn toàn có thể bị phủ định bằng cách sử dụng – operator ( toán tử ) tiền tố. Ví dụ :

  • – 42 $ MYPOLICY
  • – 72191 $ MYPOLICY.foo
  • – 100
  • – 920 lovelace

Kết hợp những giá trị riêng không liên quan gì đến nhau

Các giá trị hoàn toàn có thể được tích hợp bằng cách sử dụng toán tử nhị phân +. Ví dụ :

  • 42 lovelace + – 1 ( this would result in a Value of 41 lovelace )
  • 20 USD MYPOLICY + 12 $ MYPOLICY.foo + – 2 $ MYPOLICY.bar
  • 201 4 USD MYPOLICY.foo + 12 + – 1 + 9 lovelace + 10 USD MYPOLICY

Tạo thanh toán giao dịch

Cú pháp native token hoàn toàn có thể được sử dụng trong những ngữ cảnh sau :

  • cardano-cli transaction build-raw – tx-out = ” … ”
  • cardano-cli transaction build-raw – mint = ” … ”

Lệnh CLI cardano-cli transaction build-raw tạo phần thân thanh toán giao dịch. Các – tx-out lao lý đơn cử output thanh toán giao dịch theo cách thường thì ( Điều này được bộc lộ dưới dạng địa chỉ + Lovelace, trong đó địa chỉ là một địa chỉ được mã hóa Bech32, và Lovelace là số tiền trong Lovelace ), và những – mint pháp luật đơn cử tùy chọn những giá trị được đúc hoặc đốt / hủy .

Output thanh toán giao dịch ( TxOuts )

Cú pháp cho những giá trị TxOut đã được lan rộng ra để gồm có những token đa tài sản ( multi-asset ). Các giá trị này hoàn toàn có thể được chỉ định theo hai cách khác nhau :

  • USD address USD value
  • USD { address } + $ { value }

(trong đó address là một địa chỉ Cardano và value là một giá trị). Biểu mẫu thứ hai được cung cấp để tương thích ngược với các phiên bản trước của node.

Để nhận token, bạn chỉ cần chỉ định bất kể địa chỉ nào. Không nhất thiết phải sử dụng những địa chỉ đặc biệt quan trọng để giữ token đa tài sản ( multi-asset ) .
Để kiểm tra những giá trị trong một địa chỉ, bạn cần xem giá trị UTxO bằng cách sử dụng :

cardano-cli shelley query utxo --mary-era

Điều này sẽ hiển thị nội dung của bất kể gói token nào mà bạn chiếm hữu. Bạn hoàn toàn có thể chọn xem một địa chỉ đơn cử bằng cách sử dụng – address $ ADDRESS tùy chọn :

cardano-cli shelley query utxo --address "$ADDRESS" --mary-era

Chính sách minting token ( Token minting policies )

Trong Mary, những chủ trương minting token được viết bằng những tập lệnh multi-signature ( đa chữ kí ). Điều này được cho phép người trấn áp gia tài biểu lộ những điều kiện kèm theo, ví dụ điển hình như nhu yếu những tổ chức triển khai phát hành token đơn cử chấp thuận đồng ý đúc token mới hoặc cấm đúc token sau một thời gian nhất định ( nếu khóa token cũng được sử dụng ) .
Dưới đây là một ví dụ về minting policy ( chủ trương minting ) rất đơn thuần, cấp quyền đúc token cho một khóa duy nhất ( single key ) :

{

  "keyHash": "fe38d7...599",

  "type": "sig"

}

Minting policy ( chủ trương minting ) này nhu yếu bất kể thanh toán giao dịch nào đào token phải được ký ​ ​ bởi khóa hash fe38d7 … 599. Có thể tìm thấy nhiều ví dụ tương quan hơn trong tài liệu về tập lệnh đơn thuần multi-signature .

Ví dụ : đúc một native token ( token gốc ) mới

Tổng quát

Phần này miêu tả cách đúc bằng tay thủ công native token ( token gốc ) mới ( ‘ melcoin ’ ) bằng cách sử dụng cardano-cli và gửi thanh toán giao dịch của token mới được đúc này đến một địa chỉ mới. Code được sử dụng xuyên suốt tương quan đến Mary Testnet. Đối với mainnet, thay thế sửa chữa – network-magic 3 bằng – mainnet trong toàn bộ những lệnh .

Điều kiện tiên quyết

  1. Tải xuống các tệp node và cấu hình cho Mary testnet (Launchpad) bằng cách sử dụng code này:
wget https://hydra.iohk.io/build/5266641/download/1/cardano-node-1.24.2-linux.tar.gz

tar xzvf cardano-node-1.24.2-linux.tar.gz

mkdir lpconfig && cd lpconfig

wget https://hydra.iohk.io/build/5102327/download/1/launchpad-config.json

wget https://hydra.iohk.io/build/5102327/download/1/launchpad-byron-genesis.json

wget https://hydra.iohk.io/build/5102327/download/1/launchpad-shelley-genesis.json

wget https://hydra.iohk.io/build/5102327/download/1/launchpad-topology.json

cd ..
  1. Chạy cardano-node:
./cardano-node run --topology ./lpconfig/launchpad-topology.json --database-path ./state-lp --port 3001

--config ./lpconfig/launchpad-config.json --socket-path ~/cardano-lp.socket




export CARDANO_NODE_SOCKET_PATH=~/cardano-lp.socket
  1. Tạo khóa xác minh và khóa ký (signing key):
cardano-cli address key-gen \

    --verification-key-file pay.vkey \

    --signing-key-file pay.skey

Code sẽ xuất ra một cái gì đó tương tự như như sau :

$ cat pay.skey

{

    "type": "PaymentSigningKeyShelley_ed25519",

    "description": "Payment Signing Key",

    "cborHex": "5820aed07e0b1ddd946da278ffb1f671cc5b24c8453e6b47c24b0a6b15d818444fe8"

}

$ cat pay.vkey

{

    "type": "PaymentVerificationKeyShelley_ed25519",

    "description": "Payment Verification Key",

    "cborHex": "582031752dd50ffe7ed90ba136ea775dacd5113ff67d13001a25aac953f719aa1f92"

}
  1. Tạo địa chỉ thanh toán:
./cardano-cli address build \

--payment-verification-key-file pay.vkey \

--out-file pay.addr \

--testnet-magic 3

Code này tạo ra địa chỉ giao dịch thanh toán sau :

$ cat pay.addr

addr_test1vqvlku0ytscqg32rpv660uu4sgxlje25s5xrpz7zjqsva3c8pfckz
  1. Kiểm tra số dư của địa chỉ thanh toán:
./cardano-cli query utxo --address addr_test1vqvlku0ytscqg32rpv660uu4sgxlje25s5xrpz7zjqsva3c8pfckz --testnet-magic 3 --mary-era

Nên phản hồi khi không có fund ( ada ) :

TxHash                                 TxIx        Amount

--------------------------------------------------------------------------------------
  1. Thêm fund (ada) vào địa chỉ và kiểm tra lại:
./cardano-cli query utxo --address addr_test1vqvlku0ytscqg32rpv660uu4sgxlje25s5xrpz7zjqsva3c8pfckz --testnet-magic 3 --mary-era




                           TxHash                                 TxIx        Amount

--------------------------------------------------------------------------------------

b1ddb0347fed2aecc7f00caabaaf2634f8e2d17541f6237bbed78e2092e1c414     0        1000000000 lovelace
  1. Xuất các thông số giao thức sang một tệp để sử dụng sau này:
cardano-cli  query protocol-parameters \

--mainnet \

--out-file protocol.json

Bắt đầu quy trình minting

  1. Tạo một policy (chính sách):
mkdir policy




cardano-cli address key-gen \

--verification-key-file policy/policy.vkey \

--signing-key-file policy/policy.skey







touch policy/policy.script && echo "" > policy/policy.script







echo "{" >> policy/policy.script

echo "  \"keyHash\": \"$(./cardano-cli address key-hash --payment-verification-key-file policy/policy.vkey)\"," >> policy/policy.script

echo "  \"type\": \"sig\"" >> policy/policy.script

echo "}" >> policy/policy.script




cat ./policy/policy.script

{

"keyHash": "5805823e303fb28231a736a3eb4420261bb42019dc3605dd83cccd04",

"type": "sig"

}

2. Mint asset ( gia tài ) mới :

$ ./cardano-cli transaction policyid --script-file ./policy/policy.script

328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47b

Build the raw transaction

  1. Sử dụng code này để build raw transaction:
./cardano-cli transaction build-raw \

--mary-era \

--fee 0 \

--tx-in b1ddb0347fed2aecc7f00caabaaf2634f8e2d17541f6237bbed78e2092e1c414#0 \

--tx-out addr_test1vqvlku0ytscqg32rpv660uu4sgxlje25s5xrpz7zjqsva3c8pfckz+1000000000+"1000000000 328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47b.melcoin" \

--mint="1000000000 328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47b.melcoin" \

--out-file matx.raw




$ cat matx.raw

{

"type": "TxBodyMary",

"description": "",

"cborHex": "82a40081825820b1ddb0347fed2aecc7f00caabaaf2634f8e2d17541f6237bbed78e2092e1c41400018182581d6019fb71e45c300445430b35a7f395820df96554850c308bc29020cec7821a3b9a

ca00a1581c328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47ba1476d656c636f696e1a3b9aca00020009a1581c328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47ba1476d656c636f696e1a3b9aca00f6"

}

Tính minimum fee ( phí tối thiểu )

Sử dụng code này để tính phí tối thiểu thiết yếu cho thanh toán giao dịch :

./cardano-cli transaction calculate-min-fee \

--tx-body-file matx.raw \

--tx-in-count 1 \

--tx-out-count 1 \

--witness-count 2 \

--testnet-magic 3 \

--protocol-params-file protocol.json




180109 Lovelace

Build lại thanh toán giao dịch

Giao dịch giờ đây sẽ gồm có phí :

./cardano-cli transaction build-raw \

--mary-era \

--fee 180109 \

--tx-in b1ddb0347fed2aecc7f00caabaaf2634f8e2d17541f6237bbed78e2092e1c414#0 \

--tx-out addr_test1vqvlku0ytscqg32rpv660uu4sgxlje25s5xrpz7zjqsva3c8pfckz+999819891+"1000000000 328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47b.melcoin" \

--mint="1000000000 328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47b.melcoin" \

--out-file matx.raw




$ cat matx.raw

{

"type": "TxBodyMary",

"description": "",

"cborHex": "82a40081825820b1ddb0347fed2aecc7f00caabaaf2634f8e2d17541f6237bbed78e2092e1c41400018182581d6019fb71e45c300445430b35a7f3958

20df96554850c308bc29020cec7821a3b980a73a1581c328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47ba1476d656c636f696e1a3b9aca00021a0002bf8d09a1581c328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47ba1476d656c636f696e1a3b9aca00f6"

}

Ký giao dịch:

./cardano-cli transaction sign \

--signing-key-file pay.skey \

--signing-key-file policy/policy.skey \

--script-file policy/policy.script \

--testnet-magic 3 \

--tx-body-file matx.raw \

--out-file matx.signed




$ cat matx.signed

{

"type": "Tx MaryEra",

"description": "",

"cborHex": "83a40081825820b1ddb0347fed2aecc7f00caabaaf2634f8e2d17541f6237bbed78e2092e1c41400018182581d6019fb71e45c300445430b35a7f395820df96554850c308bc29020cec7821a3b980a73a1581c328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47ba1476d656c636f696e1a3b9aca00021a0002bf8d09a1581c328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47ba1476d656c636f696e1a3b9aca00a2008282582031752dd50ffe7ed90ba136ea775dacd5113ff67d13001a25aac953f719aa1f9258406c8639a645fabe8f040e1bc4d9aff6db25ad98aead2f5558f322087430ce3896e44fadb18d2d0fec9302c8a36a8a66653df6c181700dbdf5c2df2f1af4c4ab048258206829bde3df4b212def84a4d8c14aa5232356aa53395cbdc575fa01fac167439a58407d3171701eabd7e118e45beb9f23ac95b5a73ec3de0449917a27e18106e554473247978a8b02f9edbe489940047ce41f1922f93042d3157b4a5146692e848c0701818200581c5805823e303fb28231a736a3eb4420261bb42019dc3605dd83cccd04f6"

}

Gửi giao dịch:

./cardano-cli transaction submit --tx-file  matx.signed --testnet-magic 3

Không có phản hồi, đó là tác dụng mong đợi. Kiểm tra Utxo cho
addr_test1vqvlku0ytscqg32rpv660uu4sgxlje25s5xrpz7zjqsva3c8pfckz

./cardano-cli query utxo --address addr_test1vqvlku0ytscqg32rpv660uu4sgxlje25s5xrpz7zjqsva3c8pfckz --testnet-magic 3 --mary-era




TxHash                                 TxIx        Amount

--------------------------------------------------------------------------------------

fd0790f3984348f65ee22f35480b873b4eb9862065514f3e3a9c0f04d0a6ad63     0        999821915 lovelace + 1000000000 328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47b.melcoin

Gửi native asset (tài sản gốc) mới đến một địa chỉ khác

  1. Tạo địa chỉ người nhận:

Đầu tiên, tất cả chúng ta cần tạo một địa chỉ để gửi gia tài mới được đúc tới .

mkdir recipient
  1. Tạo cặp khóa:
cardano-cli address key-gen \

--verification-key-file recipient/recipientpay.vkey \

--signing-key-file recipient/recipientpay.skey
  1. Tìm địa chỉ thanh toán:
./cardano-cli address build \

--payment-verification-key-file recipient/recipientpay.vkey \

--out-file recipient/recipientpay.addr \

--testnet-magic 3




$ cat recipient/recipientpay.addr

addr_test1vp8s8zu6mr73nvlsjf935k0a38n8xvp3fptkyz2vl8pserqkcx5yz
  1. Gửi 1 melcoin đến địa chỉ người nhận:
./cardano-cli transaction build-raw \

--mary-era \

--fee 0 \

--tx-in fd0790f3984348f65ee22f35480b873b4eb9862065514f3e3a9c0f04d0a6ad63#0 \

--tx-out addr_test1vp8s8zu6mr73nvlsjf935k0a38n8xvp3fptkyz2vl8pserqkcx5yz+10000000+"1 328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47b.melcoin" \

--tx-out addr_test1vqvlku0ytscqg32rpv660uu4sgxlje25s5xrpz7zjqsva3c8pfckz+999821915+"999000000 328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47b.melcoin" \

--out-file rec_matx.raw

5. Tính minimum fee ( phí tối thiểu ) .
Sử dụng code này để tính phí tối thiểu cho thanh toán giao dịch :

./cardano-cli transaction calculate-min-fee \

--tx-body-file rec_matx.raw \

--tx-in-count 1 \

--tx-out-count 2 \

--witness-count 1 \

--testnet-magic 3 \

--protocol-params-file protocol.json




178393 Lovelace




./cardano-cli transaction build-raw \

--mary-era \

--fee 178393 \

--tx-in fd0790f3984348f65ee22f35480b873b4eb9862065514f3e3a9c0f04d0a6ad63#0 \

--tx-out addr_test1vp8s8zu6mr73nvlsjf935k0a38n8xvp3fptkyz2vl8pserqkcx5yz+10000000+"1 328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47b.melcoin" \

--tx-out addr_test1vqvlku0ytscqg32rpv660uu4sgxlje25s5xrpz7zjqsva3c8pfckz+989643522+"999999999 328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47b.melcoin" \

--out-file rec_matx.raw

Ký thanh toán giao dịch

Ký thanh toán giao dịch bằng những khóa đã tạo trước đó :

./cardano-cli transaction sign \

--signing-key-file pay.skey \

--testnet-magic 3 \

--tx-body-file rec_matx.raw \

--out-file rec_matx.signed

Gửi thanh toán giao dịch

Gửi thanh toán giao dịch đến chuỗi :

./cardano-cli transaction submit --tx-file  rec_matx.signed --testnet-magic 3

Lưu ý rằng chúng tôi phải gửi hơn 1000000 Lovelace trong thanh toán giao dịch. Minimum value ( giá trị tối thiểu ) này được chỉ định trong tệp thông số kỹ thuật :

$ cat lpconfig/launchpad-shelley-genesis.json | grep minUTxOValue

"minUTxOValue": 1000000,

Kiểm tra UTXO cho địa chỉ addr_test1vp8s8zu6mr73nvlsjf935k0a38n8xvp3fptkyz2vl8pserqkcx5yz :

./cardano-cli query utxo --address addr_test1vp8s8zu6mr73nvlsjf935k0a38n8xvp3fptkyz2vl8pserqkcx5yz --testnet-magic 3 --mary-era




TxHash                                 TxIx        Amount

--------------------------------------------------------------------------------------

f90b8457a2cf6a1aba9c0001ae2c7084f653083c6108826115a0a64e862333a3     0        10000000 lovelace + 1 328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47b.melcoin

Địa chỉ người nhận mà chúng tôi đã tạo hiện có 10000000 Lovelace và 1 melcoin .

Kiểm tra UTXO cho địa chỉ addr_test1vqvlku0ytscqg32rpv660uu4sgxlje25s5xrpz7zjqsva3c8pfckz :

./cardano-cli query utxo --address addr_test1vqvlku0ytscqg32rpv660uu4sgxlje25s5xrpz7zjqsva3c8pfckz --testnet-magic 3 --mary-era
                           TxHash                                 TxIx        Amount
--------------------------------------------------------------------------------------
f90b8457a2cf6a1aba9c0001ae2c7084f653083c6108826115a0a64e862333a3     1        989643522 lovelace + 999999999 328a60495759e0d8e244eca5b85b2467d142c8a755d6cd0592dff47b.melcoin

Địa chỉ người gửi hiện có 989643522 Lovelace và 999999999 melcoin .

Gửi thanh toán giao dịch

Trước khi gửi thanh toán giao dịch vào mạng, nó cần phải được ký. Chúng tôi cần 2 key một để gửi input $ UTXO và một để phân phối minting policy ( chủ trương minting ) :

SPENDING_KEY=...

MINTING_KEY=...

TX_BODY_FILE=...

TX_FILE=...




cardano-cli transaction sign \

--signing-key-file "$SPENDING_KEY" \

--signing-key-file "$MINTING_KEY" \

--script-file "$SCRIPT" \

--testnet-magic 3 \

--tx-body-file  "$TX_BODY_FILE" \

--out-file      "$TX_FILE"

Đây, $ SPENDING_KEY là khóa được cho phép tiêu tốn từ $ UTXO và $ MINTING_KEY là khóa hash thành giá trị được chỉ định trong $ SCRIPT .
Để gửi một thanh toán giao dịch đến mạng, hãy sử dụng lệnh sau :

cardano-cli transaction submit --tx-file  "$TX_FILE" --testnet-magic 3

Các token mới được đúc sẽ Open trong UTxO và hoàn toàn có thể được kiểm tra bằng cách :

cardano-cli query utxo --mary-era --testnet-magic 3

Output tương ứng hiển thị những loại gia tài khác nhau được nhúng trong UTxO :

TxHash         TxIx        Amount







-----------------------------------------------------------------







377eab...ad7    0       500000000 lovelace + 5 1cc8a9...a25.couttscoin

377eab...ad7    1       500000000 lovelace

Sau khi token được đúc, chúng hoàn toàn có thể được tiếp xúc bằng những thanh toán giao dịch thường thì mà không cần sử dụng trường – mint. Lưu ý rằng để hợp lệ, một thanh toán giao dịch phải được cân đối và bạn cũng phải có giá trị tối thiểu ( minimum value ) của lovelace trong mỗi output thanh toán giao dịch .

Chuyển token

Bất kỳ chủ sở hữu token nào cũng hoàn toàn có thể gửi token giống như ada. Có một quan tâm : mọi output thanh toán giao dịch phải chứa 1 số ít ada. Điều này là do có minimum value ( giá trị tối thiểu ) của ada thiết yếu cho mỗi output thanh toán giao dịch. Giá trị này được phân phối bởi một tham số giao thức. Đặc biệt, không hề chỉ gửi token đa tài sản ( multi-asset ) trong một thanh toán giao dịch, vì một số ít ada luôn cần được gồm có trong mỗi output .
Ví dụ : 1 số ít couttscoin token hoàn toàn có thể được gửi bằng những lệnh sau :

TXID=$(cardano-cli transaction txid --tx-body-file "$TX_BODY_FILE")

TX_BODY_FILE_1=...

TX_FILE_1=...




cardano-cli transaction build-raw \

--mary-era \

--fee 0 \

--tx-in "$TXID"#0 \

--tx-out="$ADDR+$LOVELACE+5 $POLICYID.couttscoin" \

--out-file "$TX_BODY_FILE_1"




cardano-cli transaction sign \

--signing-key-file "$SPENDING_KEY" \

--testnet-magic 3 \

--tx-body-file  "$TX_BODY_FILE_1" \

--out-file      "$TX_FILE_1"




cardano-cli transaction submit --tx-file "$TX_FILE_1" --testnet-magic 3

Mua và tiêu tốn token

Người nắm giữ token “mua” token từ một công ty phát hành token. Điều này thường liên quan đến việc gửi một số ada đến một địa chỉ cụ thể đã được thiết lập bởi nhà phát hành token và thông báo cho nhà phát hành token về địa chỉ nơi token sẽ được gửi. Nhà phát hành token sau đó sẽ thiết lập một giao dịch sẽ chuyển token multi-asset (đa tài sản) đến địa chỉ được chỉ định.

Các token đã được phát hành cho chủ sở hữu token hoàn toàn có thể được “ tiêu tốn ” bằng cách trả lại chúng cho công ty phát hành token ( tức là bằng cách đổi những token ). Điều này được triển khai bằng cách sử dụng một thanh toán giao dịch thông thường. Nhà phát hành token sau đó sẽ cung ứng cho chủ sở hữu token đối tượng người dùng đã thỏa thuận hợp tác để đổi lại ( hoàn toàn có thể là một vật phẩm có giá trị, một dịch vụ, một loại token khác, 1 số ít ada, v.v. ) .

cardano-cli transaction build-raw ... --out-file txbody




cardano-cli transaction sign ... --tx-body-file txbody --out-file tx




cardano-cli transaction submit ... --tx-file tx

Phá hủy ( đốt ) token

Tổ chức phát hành token hoàn toàn có thể hủy hoại token theo policy ( chủ trương ) token bằng cách cung ứng giá trị âm trong trường – mint. Điều đó được cho phép có được những token trong mục nhập UTxO trong input của một thanh toán giao dịch mà không cần thêm chúng vào một trong những output, tàn phá chúng một cách hiệu suất cao. Ví dụ : những token được tạo trong phần trước hoàn toàn có thể bị hủy như sau :

TXID1=$(cardano-cli transaction txid --tx-body-file "$TX_BODY_FILE_1")

TX_BODY_FILE_2=...

TX_FILE_2=...




cardano-cli transaction build-raw \

--mary-era \

--fee 0 \

--tx-in "$TXID1"#0 \

--tx-out="$ADDR+$LOVELACE" \

--mint="-5 $POLICYID.couttscoin" \

--out-file "$TX_BODY_FILE_2"




cardano-cli transaction sign \

--signing-key-file "$SPENDING_KEY" \

--signing-key-file "$MINTING_KEY" \

--script-file "$SCRIPT" \




--testnet-magic 3 \

--tx-body-file  "$TX_BODY_FILE_2" \

--out-file      "TX_FILE_2"




cardano-cli transaction submit --tx-file  "$TX_FILE_2" --testnet-magic 3

Lưu ý : Việc hủy token nhu yếu cả thông tin xác nhận thanh toán giao dịch để sử dụng mục nhập UTxO với token và thông tin xác nhận cho tập lệnh minting policy .

Source: https://openlivenft.info
Category : TIN COIN

Đánh giá bài post
- Advertisement -spot_img

More articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisement -spot_img

Latest article

Ethereum là gì? | OpenliveNFT