Multitanda tangan

Akun multisignature di Namada

Akun multitanda tangan (multisigs) adalah akun di Namada yang memungkinkan banyak penandatanganan. Ada banyak manfaat memiliki multisig, termasuk namun tidak terbatas pada

  • Peningkatan keamanan

  • Kemampuan untuk berbagi dompet

  • Opsi pemulihan yang lebih baik

Oleh karena itu, semua akun di Namada adalah akun multisignature secara default.

Menginisialisasi akun multisignature

Sebelum membuat akun, pengguna harus membuat setidaknya satu kriptografi key, yang akan digunakan untuk menandatangani transaksi.

Metode berikut akan menghasilkan kunci seperti itu:

namadaw key gen \--alias my-key1

Kunci kedua juga dapat dibuat (yang akan berguna untuk multisig):

namadaw key gen \--alias my-key2

Alamat implisit juga dapat dibuat:

namadaw address gen \--alias my-address

Akun di Namada diinisialisasi melalui metode berikut:

Akun non-multisig (penanda tangan tunggal)

namadac init-account \--alias my-multisig-alias \--public-keys my-key1 \--signing-keys my-key1

Akun multisig (minimal 2 penandatangan)

namadac init-account \--alias my-multisig-alias \--public-keys my-key1,my-key2 \--signing-keys my-key1,my-key2 \--threshold 2

Mengirimkan transaksi multisignature

Untuk mengirimkan transaksi multisignature, transaksi offline harus dibuat terlebih dahulu.

Membangun transaksi offline

⚠️

Karena v0.23.0ada batasan tertentu pada konstruksi transaksi offline. Harap waspada terhadap bug apa pun yang mungkin timbul.

Argumennya --dump-txmemungkinkan pengguna untuk melakukan ini. Folder harus ditentukan di mana transaksi akan dibuang.

mkdir tx_dumps

Hal ini dapat dilakukan melalui metode berikut:

namadac transfer \--source my-multisig-alias \--target some-established-account-alias \--token NAM \--amount 100 \--signing-keys my-key1 \--dump-tx \--output-folder-path tx_dumps

Artinya, transaksi telah dibuat dan siap untuk ditandatangani.

Di dalam folder yang ditentukan, sebuah .txfile akan dibuat. File ini berisi representasi heksadesimal dari byte transaksi. File ini dapat digunakan untuk menandatangani transaksi.

Menandatangani transaksi

Langkah selanjutnya adalah menandatangani transaksi. my-key1dapat menandatangani transaksi melalui metode berikut:

namadac sign-tx \--tx-path "<path-to-file>" \--signing-keys my-key1 \--owner my-multisig-alias

Perhatikan bahwa sejumlah orang --signing-keysdapat menandatangani transaksi pada tahap ini. Ini akan menghasilkan banyak tanda tangan, yang dapat digunakan untuk mengirimkan transaksi.

Artinya tanda tangan telah disimpan ke file ini (terletak di direktori saat ini).

Mari simpan ini sebagai alias:

export SIGNATURE_ONE="offline_signature_FB7246E3FC43F59D8AEEC234EBFDB9DF1AC9BB7B14E536D05A7E2617CA41D4CD_0.tx"

Pastikan untuk menandatangani transaksi dengan setidaknya k-of-n kunci, di mana k adalah jumlah minimum tanda tangan yang diperlukan untuk mengirimkan transaksi, dan n adalah jumlah total kunci. Dalam contoh ini, k=2 dan n=2.

Lalu katakanlah penandatanganan ini menghasilkan tanda tangan lain yang kita simpan ke alias SIGNATURE_TWO.

Mengirimkan transaksi

Langkah terakhir adalah mengirimkan transaksi. Hal ini dapat dilakukan melalui metode berikut:

namadac tx \--tx-path "tx_dumps/a45ef98a817290d6fc0efbd480bf66647ea8061aee1628ce09b4af4f4eeed1c2.tx" \--signatures $SIGNATURE_ONE \--signatures $SIGNATURE_TWO \--owner my-multisig-alias \--gas-payer my-key1

Perhatikan kurangnya koma yang digunakan dalam --signaturesargumen. Hal ini karena argumennya adalah daftar file, bukan daftar tanda tangan. Perhatikan juga tx_dumpsfoldernya. Ini adalah folder tempat transaksi dibuang seperti yang ditentukan --output-folder-pathpada langkah sebelumnya.

Mengubah ambang multisig

Dimungkinkan untuk mengubah ambang multisig suatu akun. Hal ini dapat dilakukan melalui metode berikut:

namadac update-account \--address my-multisig-address \--threshold 1 \--signing-keys my-key1,my-key2

Seseorang dapat memeriksa apakah ambang batas telah diperbarui dengan benar dengan menjalankan:

namadac query-account \--owner my-multisig-address

Yang akan menghasilkan ambang batas 1, bersama dengan dua kunci publik.

Mengubah kunci publik akun multisig

Dimungkinkan untuk mengubah kunci publik dari akun multisig. Hal ini dapat dilakukan melalui metode berikut:

namadac update-account \--address my-multisig-address \--public-keys my-key3,my-key4,my-key5 \--signing-keys my-key1,my-key2

Yang akan mengubah kunci publik akun multisig dari my-key1dan my-key2ke kunci my-key3, my-key4dan my-key5(dengan asumsi kunci tersebut ada di dompet).

Kunci publik yang diberikan pada argumen --public-keysakan menjadi penanda tangan multisig yang baru. Daftar tersebut harus berupa daftar kunci publik, dipisahkan dengan koma, dan tanpa spasi. Setidaknya harus ada 1 kunci publik dalam daftar, dan panjang daftar setidaknya harus mencapai ambang batas akun multisig.

Sebuah video tutorial

Lewati semua bacaan membosankan dan tonton video tutorialnya:

Last updated