Xin giới thiệu tới các bạn khóa học lập trình haskell Tiếng Việt, tại kênh youtube AhaXu
Author: longxu
Lập trình smart contracts với Plutus trên nền Cardano
Link clip huớng dẫn trên youtube
Phần 1
Phần 2
Cardano Lobster Challenge
Sau buổi live stream về sự kiện ra mắt smart contract trên nền cardano , Charles Hoskinson có con tôm hùm trên bàn làm việc, thế là cộng đồng hỏi con tôm hùm tên gì, CH nói chưa được đặt tên, thế là Lars ngồi nghĩ 1 challenge nho nhỏ khá thú vị: đặt tên cho con tôm hùm, danh sách tên có thể đặt được listing ở đây (1218 tên – không hiểu sao lại chọn 1218 nhỉ)
https://github.com/ahaxu/lobster-challenge/blob/main/names.md
Cách thức làm như sau:
Đầu tiên check các thông số hiện tại (dùng cardano-cli query utxo --mainnet --address lobster.addr
(hoặc sript này)
1. utxo#index -- transaction index từ ví của bạn sẽ được dùng để thanh toán phí
2. lobster_utxo#index -- transaction index có chứa Lobster NFT, chúng ta query từ address này addr1w8433zk2shufk42hn4x7zznjjuqwwyfmxffcjszw5l2ulesdt3jff
3. old counter value -- chỉ số counter hiện tại khi nhìn vào utxo list (bước 2)
4. new counter value = old counter value + your random number [1..100] -- chọn 1 số ngẫu nhiên tù 1..100, cộng vào old counter value
5. old vote value - số lượng votes hiện tại (theo bước 2)
LobsterCounter là số random được submit bởi cộng đồng tham gia
LobsterVotes là chỉ số thể hiện số votes hợp lệ tới thời điểm hiện tại
Sau đó dùng script có sẵn của Lars đã viết sẵn để submit lên , cú pháp như sau
./lobster-contribute.sh
<your_wallet_utxo#index>
<lobster_utxo#index>
<public_addr_of_your_wallet>
<yourwallet.skey>
<old_counter_value>
<new_counter_value>
<old_vote_value>
Và yeah, AHA pool đã chọn số 97 để vote cho challenge này. Thông tin chi tiết ở đây
Cách tạo NFT trên Cardano
Chào các bạn, chắc hản các bạn đang rất hype và thích thú về trends NFT gần đây. Thực tế thì NFT không phải là trend (xu thế) nữa, mà NFT đã/đang đựoc áp dụng rộng rãi vào đời sống thực tế , cụ thể là phát hành tranh số, nhạc số, sách số …
Nội dung của bài viết này sẽ huớng dẫn bạn cách đúc (mint) 1 NFT (1ADA) của 1 bức hình (đuợc lưu theo IPFS) trên nền Cardano
- Yêu cầu đầu tiên: bạn phải là chủ (owner) sở huữ 1 pool, vì tại thời điểm viết bài này, thì cardano chưa support smart contract cho nên đây là điều kiện tiên quyết
- Tạo policy, tất nhiên đây là policy của pool bạn, với policy do bạn phát hành và chưa có smart contract, thì việc bạn đúc NFT thành công vẫn chưa huớng đến tính decentralize mà Cardano huớng đến. anw, chúng ta cứ làm truớc đón đầu vậy
- Tạo key cho policy
cardano-cli address key-gen –verification-key-file policy.vkey –signing-key-file policy.skey
- Tạo policy
- Tạo key cho policy
touch policy.script && echo "" > policy.script
echo "{" >> policy.script
echo " \"keyHash\": \"$(cardano-cli address key-hash --payment-verification-key-file policy.vkey)\"," >> policy.script
echo " \"type\": \"sig\"" >> policy.script
echo "}" >> policy.script
cat policy.script
{
"keyHash": "5805823e303fb28231a736a3eb4420261bb42019dc3605dd83cccd04",
"type": "sig"
}
> Lấy policy id cardano-cli transaction policyid --script-file policy.script > 677d3bbe3e01eeab498cd8786f7d261d92bd6ecea12109a332e86374 policy id trên đc dùng để mint token bên duới theo cú pháp --mint="1 677d3bbe3e01eeab498cd8786f7d261d92bd6ecea12109a332e86374.AhaXuPic002"
- Truy vấn lịch sử giao dịch
cardano-cli query utxo –address xxxxxxx –mainnet
xxxxxxx là địa chỉ vi của pool của bạn
kết quả truy vấn:
TxHash TxIx Amount2244c6b9011dbdf6e4139f56a252eadfa6744a21b221662d18dc05xxxxxxxxxx 0 385445197 lovelace + 1 8a7ab85ce0533d7ad7d6f8f120eb4486f9c69ab2261825xxxxxxxxxx.AHAXU01
47da69657fa1d6c740e0b5001431e577c3310e50cc6441a3661a6exxxxxxxxxx 0 5000000 lovelace
…
- Upload hình ảnh/ nội dung cần đúc NFT lên nền tảng IPFS
- https://docs.blockfrost.io/#tag/IPFS-Add 100 MB free
- https://pinata.cloud/documentation#GettingStarted 1GB free Free đủ xài
Đây là bức hình đuợc uploaded lên ipfs qua blockfrost
https://ipfs.blockfrost.dev/ipfs/QmYA9R8Z1TjaWYhgGHDYbYJmqPfioxznvqvXsKj4ANBJ9f
- Chuẩn bị file json cho bức hình bạn sẽ đúc (mint)
{
file json mẫu
“6868”: {
“8a7ab85ce0533d7ad7d6f8f120eb4486f9c69ab226182557cf2ee2f2”: {
“AhaXuPic002”: {
“image”: “ipfs://QmfNeaNfgooYtVFcB1SXjmttnSB87UzURwwdEoRrBcEcxg”,
“latitude”: “18.3698441”,
“longitude”: “105.8503294”,
“name”: “KyAnhBeach”,
“description”: “My lovely hometown beach – Ky Xuan, Ky Anh, Ha Tinh, Vietnam”
}
}
}
}
- Build draft transaction có kèm metadata
cardano-cli transaction build-raw \
build draft transaction
–fee 0 \
–tx-in xxxxb9de515023e84cc3b75efc5e08b3682df040e6a5fc8ce3ca87bf1cxxxx#0 \
–tx-out $(cat payment.addr)+0+”1 xxxx85ce0533d7ad7d6f8f120eb4486f9c69ab226182557cf2xxxx.AhaXuPic002″ \
–mint=”1 xxxx85ce0533d7ad7d6f8f120eb4486f9c69ab226182557cf2xxxx.AhaXuPic002″ \
–metadata-json-file AhaXuPic002.json \
–out-file AhaXuPic002.raw
- Tính fee
Giả sử tôi chọn tnx input này
47da69657fa1d6c740e0b5001431e577c3310e50cc6441a3661a6exxxxxxxxxx 0 5000000 lovelace
cardano-cli transaction calculate-min-fee \
output ví dụ:
–tx-body-file AhaXuPic002.raw \
–tx-in-count 1 \
–tx-out-count 1 \
–witness-count 2 \
–mainnet \
–protocol-params-file protocol.json
123456 Lovelace là fee
expr 5000000 – 123456
–> 4876544 số tiền đựoc cộng vào cho tx-out
- Build lại transaction có fee (+ kèm theo meta data json)
cardano-cli transaction build-raw \
build lại raw message
–mary-era \
–fee 123456 \
–tx-in xxxxxb9de515023e84cc3b75efc5e08b3682df040e6a5fc8ce3ca87bf1cxxxx#0 \
–tx-out $(cat payment.addr)+4876544+”1 xxxxx85ce0533d7ad7d6f8f120eb4486f9c69ab226182557cf2xxxxx.AhaXuPic002″ \
–mint=”1 8xxxxx5ce0533d7ad7d6f8f120eb4486f9c69ab226182557cf2xxxxx.AhaXuPic002″ \
–metadata-json-file AhaXuPic002.json \
–out-file AhaXuPic002.raw
- Ký transaction
cardano-cli transaction sign \
ký transaction
–signing-key-file payment.skey \
–signing-key-file policy.skey \
–script-file policy.script \
–mainnet \
–tx-body-file AhaXuPic002.raw \
–out-file AhaXuPic002.signed
- Submit transaction
cardano-cli transaction submit –tx-file AhaXuPic002.signed –mainnet
- Và, tận huởng cảm giác khi đúc đuợc NFT đầu tiên 😉
- Tài liệu tham khảo
- https://cardano-ledger.readthedocs.io/en/latest/explanations/features.html
- https://developers.cardano.org/en/development-environments/native-tokens/multi-asset-tokens-explainer/
- https://silas-stulz.medium.com/you-want-to-create-your-own-nft-heres-how-you-do-it-on-the-cardano-blockchain-9a0bbf8caa39
Giới thiêu về các NFTs đựoc đúc bởi AhaXu
link: https://pool.pm/stake1u8axvsqt8y8qrr98nmtucyz6qtatvmckkuq43xav4hh43ucvwua2c
Chúc các bạn may mắn! Hãy delegate và ủng hộ AHA pool nhé! link bài viết hướng dẫn ở đây.
Lưu ý: bài huớng dẫn này trên mainnet, bạn hãy cản thận khi thực hành và dùng số luợng là 1ADA để thử nghiệm nếu cần 😉
Very first NFT about my lovely home town beach on cardano block chain
Hello world,
We are very excited to announce that this is very first NFT about my lovely hometown beach (Kỳ Xuân, Kỳ Anh, Hà Tĩnh)
You can check out more info of the picture on cardano block chain here https://cardanoscan.io/transaction/957c9d0a08507cdda483cacb620379ec82dc97e75ce1da121ea911d924e31c3b?tab=metadata
We will write an article about how we mint this NFT #AhaXuP001 soon 😉
Cya guys soon! ADA fly to the moon! 😉
ADA stake说明
Deadalus 的钱包
- 下载钱包链接:https://daedaluswallet.io
- 选择1个钱包地址(在daedalus上,您可以有很多小钱包)
- 选择1、2、3红色以查找pool AHA
寻找AHA
然后按“AHA”按键查看信息,再按“CONTINUE”继续
寻找与选择委托(按钮“continue”)
点击选择delegate
选择1个小钱包
在找pool AHA的名字,然后按钮continue
选择AHA,后来选择continue让继续完成全部delegate的手续通过deadalus的钱包
yoroi的钱包
- ios: https://apps.apple.com/us/app/emurgos-yoroi-cardano-wallet/id1447326389
- android: https://play.google.com/store/apps/details?id=com.emurgo&hl=en
- others: https://yoroi-wallet.com
按照步骤
你们记住要找AHA的贴纸。
备注:Costs 340 ADA 和第一步一样,就是费用会从Pool的rewards中扣除,不是在你的stake扣除(参考)。
第一步:选择AHA的贴纸
第二步:入ADA的数量
第三步:检查结果
Pool AHA的统计
Bot báo biến động giá coin
Bạn có thể nhận báo biến động giá tăng giảm của coin theo kênh https://t.me/anvatcrypto
Khi có biến động up/down giá, bot sẽ báo với nội dung như sau
LOA LOA LOA
currency: #BNB
trend: up
interval: 1h
backtracks: 6
gap: 3.15
base: 255.07
percentage: 1.24
threshold: 1.0
- trend: up hoặc down
- interval: nến 1h
- backtracks: 6h
- gap: biên độ lệch giữa giá cao nhất và thấp nhất
- base: là giá sàn nếu up trend, là giá đỉnh nếu down trend
- percentage: là biên độ up/down theo %
- threshold: là nguỡng set báo động theo % (ví dụ percentage 1.24 > 1)
Huớng dẫn cài đặt stake pool ADA
[Giới thiệu về AHA xu pool, cách staking qua ví yoroi]
Nếu bạn hiểu về cơ chế tính thưởng của Cardano, bạn sẽ hiểu vì sao chúng ta nên chia sẻ cách tạo nhiều pool cho nhiều người có thể kiếm thêm thu nhập thụ động.
Động lực để mình chia sẻ bài viết này, đơn giản là: nếu bạn stake ở nhiều pool thì xác xuất được reward của bạn cao hơn, bởi vì thuật toán Ouroboros lựa chọn slot leader theo cách hiểu nôm na quay sổ xố.
Như thế staking vào nhiều pool sẽ giúp các pool khác có thêm lượng stake đủ lớn để tạo block mới, làm cho Cardano trở thành một mạng phi tập trung thật sự, giúp bạn tăng xác suất được thưởng.
Mình nhận thấy đó 1 cơ hội, và mình cũng nhân điều này chia sẽ lại cho mọi người, nếu mọi người thành công mình cũng thành công và đừng quên … Nếu bạn thấy hữu ích và fair thì ủng họ ticket AHA xu stake pool nhé ^^
Nào bắt đầu thôi
Những điều cần lưu ý
- Làm đi làm lại theo khoá học này trên testnet nếu bạn không có nhiều kinh nghiệm về dev ops và linux
- Tìm hiểu kỹ về keys, payment address, stake address, reward address link
- Tạo simple transaction với lượng nhỏ ADA (vd: 1 ADA = 1000000 lovelace) link
- Tìm hiểu kỹ về UTXO model link1 link2
Cấu hình
- 2 servers tách biệt: 1 cho cho producer node, 1 cho relay node
- 1 usb, 1 máy tính không kết nối internet (để lưu trữ cold key)
- Hệ điều hành: ubuntu, fedora, amazon linux …
- CPU: 2++ core, 2GHz ++
- Bộ nhớm tạm (RAM): 8GB of RAM
- Ổ cứng: 20GB of free storage (mình khuyến nghị 40++ GB) – vì log nhiều, bạn cũng cần biết cách cấu hình log rotation
- Internet: băng thông 10 Mbps
- Tài khoản ADA: ít nhất 2 + 500 + 500 ADA trong tài khoản. 2 ADA cho đăng ký địa chỉ stake, 500 ADA deposit (sẽ được hoàn trả khi retire pool), 500 ADA pledge (khoản này vẫn nằm trong payment address trên producer node của bạn). Bạn chỉ thực sự tốn 2ADA.
Các lưu ý về key:
- Lưu trữ cold key tách bạch khỏi internet
Tài liệu tham khảo
- Học khoá này, thực hành nhiều lần trên testnet https://cardano-foundation.gitbook.io/stake-pool-course/
Cài đặt
Mình dựa vào cả 2 tài liệu
- https://docs.cardano.org/projects/cardano-node/en/latest/getting-started/install.html – đọc kỹ bài này, sẽ giúp bạn hiểu thực sự từng dòng lệnh bạn chạy
- https://www.coincashew.com/coins/overview-ada/guide-how-to-build-a-haskell-stakepool-node cái này thì có sẵn script, nhưng mình cũng hơi rối
Nhóm telegram hay
Hướng dẫn stake ADA
Ví Daedalus
- Link tải ví: https://daedaluswallet.io
- Chọn 1 địa chỉ ví (trên daedalus bạn có thể có nhiều ví con)
- Chọn theo thứ tự 1, 2, 3 màu đỏ để tìm pool AHA
Tìm kiếm AHA
- Sau đó nhấp chọn AHA để xem thông tin, sau đó bấm vào nút continue để tiếp tục
Tìm lại tên pool AHA, sau đó chọn continue
- Chọn AHA, sau đó chọn continue để tiếp tục hòan tất thủ tục delegate qua ví daedalus
Ví yoroi
- ios: https://apps.apple.com/us/app/emurgos-yoroi-cardano-wallet/id1447326389
- android: https://play.google.com/store/apps/details?id=com.emurgo&hl=en
- others: https://yoroi-wallet.com
Làm theo các bước
Các bạn nhớ tìm ticker AHA nhé 😉
Chú ý: Costs 340 ADA như bước 1, là phí sẽ được trừ vào rewards của pool, không phải vào tiền stake của bạn (tham khảo)
bước 1: chọn ticker AHA bước 2: nhập số lượng ADA bước 3: kiểm tra kết quả
Thống kê pool AHA
- https://pool.vet/#AHA
- https://cardanoscan.io/pool/0225819c5f6b82556ac9d336fc6a317271dddb39093e80e18e5550db
- https://adapools.org/pool/0225819c5f6b82556ac9d336fc6a317271dddb39093e80e18e5550db
- https://pooltool.io/pool/0225819c5f6b82556ac9d336fc6a317271dddb39093e80e18e5550db/epochs
Bot báo biến động giá theo EMA
How to stake ADA
[Hướng dẫn bằng tiếng Việt ở đây https://ahaxu.com/huong-dan-stake-ada/]
DAEDALUS WALLET
- Download wallet via: https://daedaluswallet.io
- Select 1 sub wallet in case you have many wallet on daedalus wallet
- Follow as step 1, 2, 3 in red color to find AHA
Search for AHA
- Then select AHA, then click on continue button.
Search AHA again, then click on Continue
- Select AHA again, then click on continue button to finalize the delegation process to AHA pool
YOROI WALLET
- others: https://yoroi-wallet.com
Follow these steps
Notice how the 340 ADA is taken from the rewards, not from your stake. No one ever takes from your stake/ADA. (ref)
step 1: search for AHA as pool name step 2: input amount you wana stake step 3: check the result
Pool stats
- https://pool.vet/#AHA
- https://cardanoscan.io/pool/0225819c5f6b82556ac9d336fc6a317271dddb39093e80e18e5550db
- https://adapools.org/pool/0225819c5f6b82556ac9d336fc6a317271dddb39093e80e18e5550db
- https://pooltool.io/pool/0225819c5f6b82556ac9d336fc6a317271dddb39093e80e18e5550db/epochs