@@ -11,11 +11,11 @@ This is done via Google docs.
1111
1212### 1. Download ` .docx ` into working directory
1313
14- For Intersect [ governance-actions] ( https://github.com/IntersectMBO/governance-actions ) will be used as working directory.
14+ For Intersect [ governance-actions] ( https://github.com/IntersectMBO/governance-actions ) will be used as a working directory.
1515
1616### 2. Set environment variables
1717
18- Set secrets
18+ Set secrets, you can use the ` .env ` file for this.
1919
2020``` shell
2121source ./scripts/.env
@@ -26,17 +26,13 @@ Set some useful variables
2626``` shell
2727export DEPOSIT_RETURN_ADDR=" stake1uyvjdz9rxsfsmv44rtk75k2rqyqskrga96dgdfrqjvjjpwsefcjnp"
2828export WITHDRAWAL_ADDR=" stake17xzc8pt7fgf0lc0x7eq6z7z6puhsxmzktna7dluahrj6g6ghh5qjr"
29-
30- export a=" ../governance-actions/mainnet/2025-07-13-budget-2025"
3129```
3230
3331Make sure that ` CARDANO_NODE_NETWORK_ID ` and ` CARDANO_NODE_SOCKET_PATH ` are set.
3432
35-
3633### 3. Create the metadata documents
3734
38- Convert the ` .docx ` to [ intersect's metadata standard] ( https://github.com/IntersectMBO/governance-actions/tree/main/schemas )
39- this is a modified CIP-108 document.
35+ Convert the ` .docx ` to [ intersect's metadata standard] ( https://github.com/IntersectMBO/governance-actions/tree/main/schemas ) (this is a modified CIP-108 document).
4036
4137With the ` metadata-create ` script taking the data from the doc and creating a ` .jsonld ` .
4238
@@ -76,8 +72,10 @@ We will pass `--no-author` as we know there is no author witness yet.
7672
7773We will pass ` --no-ipfs ` as we know we didn't put it on ipfs yet.
7874
75+ We will also pass in our known deposit address and withdrawal address.
76+
7977``` shell
80- ./scripts/budget-metadata-validate.sh $a /EC --no-author --no-ipfs --deposit-return-addr $DEPOSIT_RETURN_ADDR --withdrawal-addr $WITHDRAWAL_ADDR
78+ ./scripts/budget-metadata-validate.sh ./my-metadata-directory --no-author --no-ipfs --deposit-return-addr $DEPOSIT_RETURN_ADDR --withdrawal-addr $WITHDRAWAL_ADDR
8179```
8280
8381### 6. Sign with author's key
@@ -88,7 +86,7 @@ Sign it with the Intersect author key
8886(this will be done via an air-gapped setup)
8987
9088``` shell
91- ./scripts/author-create.sh ./my-metadata-directory intersect-key.skey
89+ ./scripts/author-create.sh ./my-metadata-directory intersect-key.skey --author-name " Intersect "
9290```
9391
9492### 7. Verify the author's witness
@@ -112,13 +110,23 @@ Pin the metadata to different IPFS pinning services.
112110./scripts/ipfs-pin.sh ./my-metadata-directory
113111```
114112
115- ### 9. Create the action file
113+ ### 9. Verify IPFS hosting
114+
115+ We can use ` budget-metadata-validate.sh ` now without the ` --no-ipfs ` flag
116+
117+ This will now additionally check that the file is accessible via IPFS and that all the references (if they are using IPFS) are also accessible.
118+
119+ ``` shell
120+ ./scripts/budget-metadata-validate.sh ./my-metadata-directory --deposit-return-addr $DEPOSIT_RETURN_ADDR --withdrawal-addr $WITHDRAWAL_ADDR
121+ ```
122+
123+ ### 10. Create the action file
116124
117125Now we can create a governance action file from our metadata.
118126
119127This performs some validations
120128- can check against some known deposit return and withdrawal address
121- - checks that metadata fields are present and look right
129+ - checks that metadata fields are present
122130- compares the addresses against the local node
123131- checks if withdrawal address is script-based
124132- checks if withdrawal address and deposit address are registered
@@ -130,12 +138,13 @@ This performs some validations
130138./scripts/action-create-tw.sh my-metadata.jsonld --withdraw-to-script --deposit-return-addr $DEPOSIT_RETURN_ADDR --withdrawal-addr $WITHDRAWAL_ADDR
131139```
132140
133- ### 10 . Share the action file
141+ ### 11 . Share the action file
134142
135143Share the action file and the ` .action.json ` representation publicly.
136144
137145Have people check that this looks good.
138- You ** don't** want to mess this up.
146+
147+ You ** don not** want to mess this up!
139148
140149Checks;
141150- withdrawal and stake address are correct
@@ -144,27 +153,16 @@ Checks;
144153- metadata compliance with .docx
145154- hash and URI match
146155
147- ### 11. Check action file
156+ ### 12. Submit test actions to testnets
148157
149- Automated checks .
158+ Manually submit the action to other networks .
150159
151- Checks;
152- - withdrawal and stake address are correct
153- - withdrawal address is script-based
154- - withdrawal amount is correct -- can auto-check against title
155- - metadata accessible via IPFS
156- - metadata compliance with .docx
157- - hash and URI match
158- - manually have the user confirm aspects too
159-
160- ``` shell
161- ./scripts/action-validate.sh my-metadata.action --withdraw-to-script --deposit-return-addr $DEPOSIT_RETURN_ADDR --withdrawal-addr $WITHDRAWAL_ADDR
162- ```
160+ We want to check that the metadata is picked up properly.
163161
164- ### 13. Build the transaction
162+ ### 13. Build the mainnet transaction
165163
166164Manually, dependent on where the deposit is from.
167165
168- ### 14. check the transactions
166+ ### 14. Check the transactions
169167
170- Manually.
168+ Manually, review and double check all key details .
0 commit comments