CLI Universal Ledger adalah antarmuka command line yang disediakan untuk tujuan eksperimen guna memfasilitasi pengiriman transaksi dan berinteraksi dengan jaringan Universal Ledger. Untuk kasus penggunaan produksi, sebaiknya buat integrasi menggunakan Universal Ledger API sebagai gantinya.
Panduan ini menjelaskan cara mulai menggunakan Universal Ledger CLI. Pelajari cara:
Dapatkan dan siapkan Universal Ledger CLI.
Buat dan kelola akun menggunakan CLI.
Jelajahi perintah lain yang tersedia di CLI.
Sebelum memulai
Untuk menyelesaikan panduan ini, Anda memerlukan hal berikut:
Project Google Cloud dengan Universal Ledger API diaktifkan.
Peran IAM seperti
roles/universalledger.networkUsersehingga Anda dapat mengirimkan transaksi dan mengkueri status akun dalam jaringan Universal Ledger.Akun Universal Ledger yang sudah ada dan dibuat untuk Anda di jaringan. Jika Anda belum memilikinya, lihat Meminta akun baru.
Menyiapkan CLI
Untuk menyederhanakan penyiapan, panduan ini ditulis untuk lingkungan default yang disediakan dalam sesi Cloud Shell. Anda mungkin perlu mengubah perintah ini jika ingin menggunakan CLI di lingkungan yang berbeda.
Di konsol Google Cloud , aktifkan Cloud Shell.
Jalankan perintah berikut untuk membuat direktori yang akan menyimpan file konfigurasi CLI.
mkdir -p ~/.config/ul-cliJalankan setiap perintah berikut untuk menarik image Docker ul-cli, tentukan alias untuk menjalankan program biner, dan konfirmasi bahwa program biner berfungsi.
docker pull us-docker.pkg.dev/gcul-artifacts/images/client/ul-cli:latestalias ul-cli="docker run --rm -i --user $(id -u):$(id -g) \ --volume /tmp:/tmp \ --volume ~/.config/ul-cli:/home/.config/ul-cli \ --volume ~/.config/gcloud:/home/.config/gcloud \ --volume .:/workspace \ --env HOME=/home \ --workdir /workspace \ us-docker.pkg.dev/gcul-artifacts/images/client/ul-cli:latest"ul-cli --help
Jalankan perintah berikut untuk mengonfigurasi CLI.
ul-cli config setup projects/PROJECT_ID/locations/REGION/endpoints/NETWORK_NAMEGanti kode berikut:
PROJECT_ID: ID Google Cloud project tempat Universal Ledger API diaktifkan.REGION: region endpoint yang ingin Anda jangkau.NETWORK_NAME: nama jaringan yang ingin Anda ajak berinteraksi.
Jika Anda memerlukan bantuan dalam memilih endpoint yang sesuai, lihat Jaringan dan region yang tersedia.
Perintah sebelumnya akan membuat file di
~/.config/ul-cli/config.yaml
dengan konfigurasi yang akan digunakan dan dikelola oleh CLI.
Mengelola akun Universal Ledger
Bagian ini menjelaskan cara mendaftarkan akun yang ada, membuat akun baru untuk diri Anda sendiri di buku besar, dan membuat akun baru untuk orang lain.
Mendaftarkan akun yang sudah ada
Setelah akun dibuat untuk Anda oleh peserta lain di jaringan, Anda dapat menggunakan perintah berikut untuk mendaftarkan detail akun di buku alamat CLI.
ul-cli accounts register \
--alias ACCOUNT_ALIAS \
--account-id ACCOUNT_ID \
--key-name ACCOUNT_KMS_KEYGanti kode berikut:
ACCOUNT_ALIAS: string pendek yang digunakan secara lokal oleh CLI untuk mengidentifikasi akun ini pada pemanggilan perintah di masa mendatang. Misalnya:usd-operator,my-token-manager, atautest-user-account.ACCOUNT_ID: ID akun Universal Ledger yang telah dibuat untuk Anda.ACCOUNT_KMS_KEY: ID resource lengkap dari versi kunci Cloud KMS yang digunakan oleh akun ini. Akun harus dibuat menggunakan bagian publik dari versi kunci tertentu ini. Lihat Mengambil ID resource untuk format yang diharapkan.
Operasi ini adalah operasi lokal yang akan mencatat detail akun dalam file konfigurasi CLI, sehingga Anda dapat menandatangani dan mengirimkan permintaan ke buku besar atas nama akun ini.
Membuat akun baru untuk Anda
Akun baru dapat dibuat menggunakan sub-perintah ul-cli accounts create.
Misalnya, untuk membuat akun pengguna baru, Anda dapat menggunakan:
ul-cli accounts create account \
--alias NEW_ACCOUNT_ALIAS \
--key-name NEW_ACCOUNT_KMS_KEY \
--comment "NEW_ACCOUNT_COMMENT" \
--roles NEW_ACCOUNT_ROLES \
--sender ACCOUNT_MANAGER_ALIASGanti kode berikut:
NEW_ACCOUNT_ALIAS: string pendek yang digunakan secara lokal oleh CLI untuk mengidentifikasi akun ini pada pemanggilan perintah di masa mendatang.NEW_ACCOUNT_KMS_KEY: ID resource lengkap dari versi kunci Cloud KMS yang akan digunakan oleh akun pengguna baru.NEW_ACCOUNT_COMMENT: string dengan informasi relevan apa pun untuk dicatat di buku besar yang terkait dengan akun pengguna baru. Ini adalah nilai buram yang disimpan di buku besar, tetapi tidak ditafsirkan oleh Universal Ledger. Setelah dibuat, kolom ini tidak dapat diubah dan dapat dibaca oleh siapa pun yang memiliki akses ke jaringan.NEW_ACCOUNT_ROLES: daftar Peran yang dipisahkan koma yang akan ditetapkan ke akun pengguna baru. Misalnya:payer,receiver,contract-creator, ataucontract-participant.ACCOUNT_MANAGER_ALIAS: alias pengelola akun yang sebelumnya terdaftar atau dibuat dengan CLI.
Tindakan ini akan menandatangani dan mengirimkan transaksi CreateAccount atas nama pengelola akun yang diberikan.
Jalankan ul-cli accounts create --help untuk melihat opsi yang tersedia untuk jenis akun lain yang dapat dibuat.
Membuat akun baru untuk orang lain
Untuk membuat akun bagi orang lain, minta orang tersebut untuk membagikan kunci publiknya kepada Anda dan simpan di file. Secara umum, sebaiknya gunakan format encoding PEM untuk kunci. Misalnya, jika kunci penandatanganan mereka menggunakan kurva eliptis P-256 dengan ringkasan SHA256, simpan di file bernama pem_ec_p256_sha256.pub:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJ/vWkd5wgakFbVD25k8WM9Ll6We+
c8RVDS0R4G8xetsmFjfNW/ZxwWeB86IvMjxY8ZsdU9+W7BL5YM6rUB5yCQ==
-----END PUBLIC KEY-----
Kemudian, jalankan perintah berikut untuk membuat akun:
ul-cli accounts create account \
--alias NEW_ACCOUNT_ALIAS \
--public-key "$(cat pem_ec_p256_sha256.pub)" \
--key-format pem_ec_p256_sha256 \
--comment "NEW_ACCOUNT_COMMENT" \
--roles NEW_ACCOUNT_ROLES \
--sender ACCOUNT_MANAGER_ALIASGanti kode berikut:
NEW_ACCOUNT_ALIAS: string pendek yang digunakan secara lokal oleh CLI untuk mengidentifikasi akun ini pada pemanggilan perintah di masa mendatang. Namun, karena Anda tidak memiliki kunci pribadinya, Anda tidak akan dapat menandatangani atau mengirimkan transaksi.NEW_ACCOUNT_COMMENT: string dengan informasi relevan apa pun untuk dicatat di buku besar yang terkait dengan akun pengguna baru. Ini adalah nilai buram yang disimpan di buku besar, tetapi tidak ditafsirkan oleh Universal Ledger. Setelah dibuat, kolom ini tidak dapat diubah dan dapat dibaca oleh siapa pun yang memiliki akses ke jaringan.NEW_ACCOUNT_ROLES: daftar Peran yang dipisahkan koma yang akan ditetapkan ke akun pengguna baru. Misalnya:payer,receiver,contract-creator, ataucontract-participant.ACCOUNT_MANAGER_ALIAS: alias pengelola akun yang sebelumnya terdaftar atau dibuat dengan CLI.
Tindakan ini akan menandatangani dan mengirimkan transaksi CreateAccount atas nama pengelola akun yang diberikan.
Flag --public-key dan --key-format tersedia untuk semua sub-perintah accounts create, sehingga Anda dapat menggunakannya untuk membuat jenis akun lainnya juga. Untuk format kunci publik alternatif yang didukung, lihat
KeyFormat
dalam referensi API Universal Ledger.
Mencantumkan akun terkelola
Jalankan perintah berikut untuk melihat semua akun yang terdaftar atau dibuat secara lokal dengan Universal Ledger CLI:
ul-cli accounts listMenjelajahi perintah lainnya
Gunakan flag --help untuk menjelajahi semua perintah dan subperintah lain yang tersedia di Universal Ledger CLI.
Misalnya, untuk melihat perintah tingkat teratas yang tersedia, jalankan:
ul-cli --helpHal ini mencakup subperintah untuk mengirimkan jenis transaksi lain seperti:
accounts: untuk mendaftarkan atau membuat akun, dan melakukan operasi pengelolaan pada akun yang ada seperti menambahkan atau menghapus peran, dan mengkueri detail akun.contracts: untuk men-deploy, memberikan izin, dan memanggil metode pada kontrak yang dapat diprogram.issuance: agar lembaga kliring dapat menambah atau mengurangi batas penerbitan pengelola token, dan untuk melakukan operasi penyelesaian.tokens: agar pengelola token dapat mencetak atau menghapus token di akun pengguna.wallet: agar akun pengguna dapat mentransfer jumlah dari saldo mereka ke akun pengguna lain.
Langkah berikutnya
- Pelajari cara mengirim permintaan RPC ke Universal Ledger API.
- Lihat referensi API Universal Ledger.