> For the complete documentation index, see [llms.txt](https://exfaz.gitbook.io/namada/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://exfaz.gitbook.io/namada/panduan-pengguna/akun-transparan/multitanda-tangan.md).

# 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.0`ada batasan tertentu pada konstruksi transaksi offline. Harap waspada terhadap bug apa pun yang mungkin timbul.

Argumennya `--dump-tx`memungkinkan 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 `.tx`file 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-key1`dapat 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-keys`dapat 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 `--signatures`argumen. Hal ini karena argumennya adalah daftar file, bukan daftar tanda tangan. Perhatikan juga `tx_dumps`foldernya. Ini adalah folder tempat transaksi dibuang seperti yang ditentukan `--output-folder-path`pada 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-key1`dan `my-key2`ke kunci `my-key3`, `my-key4`dan `my-key5`(dengan asumsi kunci tersebut ada di dompet).

Kunci publik yang diberikan pada argumen `--public-keys`akan 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:

{% embed url="<https://player.vimeo.com/video/873749851>" %}
