> 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/pendanaan-pemerintahan-dan-barang-publik/proposal-on-chain.md).

# Proposal on-chain

### Jenis proposal

Semua jenis proposal yang berbeda tercantum dalam [spesifikasi(terbuka di tab baru)](https://specs.namada.net/governance/proposal). Proposal yang berbeda akan memiliki izin, struktur data, serta persyaratan pemungutan suara yang berbeda.

### Buat proposal

Dengan asumsi Anda memiliki akun dengan setidaknya 500 token NAM (dalam contoh ini kita akan menggunakan `my-new-acc`), mari kita dapatkan alamat yang sesuai

```
namada wallet address find --alias `my-new-acc`
```

Sekarang, kita perlu membuat file json `proposal.json`yang menyimpan konten proposal kita. Salin teks di bawah ini ke file json.

{% code overflow="wrap" %}

```css
{
	"proposal": {
		"content": {
			"title": "One Small Step for Namada, One Giant Leap for Memekind",
			"authors": "bengt@heliax.dev",
			"discussions-to": "forum.namada.net/t/namada-proposal/1",
			"created": "2069-04-20T00:04:44Z",
			"license": "MIT",
			"abstract": "We present a proposal that will send our community to the moon. This proposal outlines all training necessary to accomplish this goal. All memers are welcome to join.",
			"motivation": "When you think about it, the moon isn't actually that far away.The moon is only 384,400 km. We have not yet brought Namada to the moon, so it is only natural to use 101 as the prime number for our modular arithmetic operations. 384,400 (mod 101) = 95. 95 km is a distance that can be easily covered by a single person in a single day. Namada was produced by more than 100 people. So 95/100 = 0, rounded to the nearest integer. This means that Namada can reach the moon in no time.",
			"details": "Bringing Namada to the moon in no time is easily achievable. We just need to pass this governance proposal and set the plan in action",
			"requires": ""
		},
		"author": "atest1v4ehgw36g9zyydzpgycy23phxuunxdesgc6nydfsxge5x3zzgscny32pxccn2wfjg5urx3fhzxhmch",
		"voting_start_epoch": 21,
		"voting_end_epoch": 24,
		"grace_epoch": 27,
		"type": {
			"Default": null
		}
	}
}
```

{% endcode %}

Di bidang konten, sebagian besar bidang sudah cukup jelas. Bidang ini `requires`mereferensikan id proposal yang harus dilewati sebelum proposal ini dapat dijalankan. Bidang `created`harus dalam format `YYYY-MM-DDTHH:MM:SSZ`.

Anda harus mengubah nilai:

* `Author`bidang dengan alamat `my-new-acc`;
* `voting_start_epoch`dengan periode masa depan (harus kelipatan 3) yang Anda inginkan untuk memulai pemungutan suara;
* `voting_end_epoch`dengan epoch lebih besar dari `voting_start_epoch`, kelipatan 3, dan tidak ada pemungutan suara lagi yang akan diterima;
* `grace_epoch`dengan epoch lebih besar dari `voting_end_epoch`+ 6, di mana proposal tersebut, jika disahkan, akan mulai berlaku.

Bidang `data`dan strukturnya tergantung pada jenis proposal yang diajukan. Di bawah ini kami menguraikan struktur kolom "data" untuk setiap jenis proposal. Yang diberikan dalam contoh di atas adalah untuk a `Default Proposal`.

#### Usulan Bawaan

```
"data" : "<path/to/wasm.wasm>"
```

Bidang data untuk proposal default bersifat opsional. Hal ini sejalan dengan sifat usulan gagal bayar. Jika proposal memiliki kode yang dilampirkan untuk mengubah parameter tata kelola, maka kode ini akan direpresentasikan sebagai file wasm dan jalur ke file ini akan diberikan di bidang data.

#### Proposal Jembatan ETH

```
"data" : "<hex-encoded-bytes-of-what-will-be-signed-by-validators>"
```

⚠️

**Catatan** : Pengkodean akan dikirimkan sebagai string

#### Usulan Pengurus

{% code overflow="wrap" %}

```css
"data" : [
        {
            "action" : "add",
            "address" : "atestatest1v4ehgw36g4pyg3j9x3qnjd3cxgmyz3fk8qcrys3hxdp5xwfnx3zyxsj9xgunxsfjg5u5xvzyzrrqtn"
        }
    ]      
```

{% endcode %}

> 💡 Bidang data untuk proposal pengurus adalah **daftar** tindakan yang harus diambil. Tindakannya bisa berupa salah satu `add`atau `remove`dan alamatnya adalah alamat pengurus yang akan ditambahkan atau dihapus. Dengan cara ini Anda dapat menambah atau menghapus beberapa pengurus dalam satu proposal.

#### Usulan PGF

{% code overflow="wrap" %}

```css
"data" :
        {
            "continuous" : [
                {
                    "target": {
                        "amount": 420,
                        "address": "atestatest1v4ehgw36g4pyg3j9x3qnjd3cxgmyz3fk8qcrys3hxdp5xwfnx3zyxsj9xgunxsfjg5u5xvzyzrrqtn"
                    },
                    "action" : "add",
                },
            ],
            "retro" : [
                {
                    "target": {
                        "amount": 1337,
                        "address": "atestatest1v4ehgw36g4pyg3j9x3qnjd3cxgmyz3fk8qcrys3hxdp5xwfnx3zyxsj9xgunxsfjg5u5xvzyzrrqtn"
                    }
                }
            ]
        },  
```

{% endcode %}

> 💡 Bidang data untuk proposal PGF berisi tindakan pendanaan PGF yang berkelanjutan dan berlaku surut. Dalam setiap tindakan, pengguna dapat memasukkan beberapa pembayaran dalam bentuk vektor. Dalam setiap pembayaran, kolom target berisi alamat penerima serta jumlah NAM yang akan mereka terima. Untuk pendanaan PGF berkelanjutan, jumlah yang ditentukan akan dikirimkan pada akhir setiap epoch. Terdapat juga pilihan untuk menghapus penerima dari pendanaan berkelanjutan PGF, dengan menentukan pembayaran pendanaan berkelanjutan yang sudah ada, dan kemudian juga menyertakan tindakan “hapus”. Untuk pendanaan PGF yang berlaku surut, jumlah yang ditentukan akan segera dikirimkan.

### Mengajukan proposal

Segera setelah `proposal.json`file Anda siap, Anda dapat mengirimkan proposal dengan (pastikan berada di direktori yang sama dengan file `proposal.json`):

```
namada client init-proposal --data-path proposal.json 
```

Transaksi seharusnya diterima. Anda dapat menanyakan semua proposal dengan:

```
namada client query-proposal
```

atau satu proposal dengan

```
namada client query-proposal --proposal-id 0
```

dimana `0`id proposalnya.

### Berikan suara pada sebuah proposal

Hanya delegasi dan delegasi yang dapat memberikan suara pada proposal. Dengan asumsi Anda termasuk dalam salah satu kategori ini, Anda dapat mengirimkan suara dengan perintah berikut:

{% code overflow="wrap" %}

```
namada client vote-proposal \    --proposal-id 0 \    --vote yay \    --signing-keys <your-alias>
```

{% endcode %}

di mana `--vote`bisa menjadi salah satu `yay`atau `nay`.

### Periksa hasilnya

Segera setelah buku besar mencapai masa yang ditentukan dalam json sebagai `voting_end_epoch`, tidak ada suara lagi yang akan diterima. Kode yang ditentukan di `proposal_code`bidang json akan dieksekusi pada awal `grace_epoch`zaman. Anda dapat menggunakan perintah berikut untuk memeriksa status proposal:

```
namada client query-proposal --proposal-id 0
```

atau untuk sekadar memeriksa hasilnya:

```
namada client query-proposal-result --proposal-id 0
```
