How to Propose an MSIG
Option 1 bloks.io:
Use bloks to propse
Documentation https://docs.bloks.io/wallet/msig
Option 2 vscode + nodejs:
To propose an msig you need to know:
account proposing the msig
proposer's private key
permission level to use for proposer
expiration of msig
proposal name
actions you wish to propose (can do multiple in 1 msig, as many as around 100 per msig)
Once you have that, you can clone this example repo: https://github.com/NatPDeveloper/example-eosio-msig
Then you just need to:
update those fields in the
index.jsfile2. run
npm ito install the nodejs modules3. run
node index.jswhich will push the msig
To install nodejs:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
export NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
nvm install 16
nvm use 16And to do all of this you can use an IDE (integrated developer environment, where code is written) such as VS Code: https://code.visualstudio.com/Download
How to use bloks.io's cleos login option to generate actions
Login to https://bloks.io using the cleos login option and choose the permission level. Then go to any contract to where you would push a transaction with Anchor or another wallet and click send where you will be able to copy and paste the action data.
cleos -u https://eos.greymass.com push transaction '{
"delay_sec": 0,
"max_cpu_usage_ms": 0,
"actions": [
{
"account": "eosio",
"name": "voteproducer",
"data": {
"voter": "dappgovfunds",
"proxy": "proxy4nation",
"producers": []
},
"authorization": [
{
"actor": "dappgovfunds",
"permission": "owner"
}
]
}
]
}'Turn into:
const actions = [
{
"account": "eosio",
"name": "voteproducer",
"data": {
"voter": "dappgovfunds",
"proxy": "proxy4nation",
"producers": []
},
"authorization": [
{
"actor": "dappgovfunds",
"permission": "owner"
}
]
}
// add more actions
// ,{
// account: "",
// name: "transfer",
// authorization: [
// {
// actor: msigAuthAccount,
// permission
// }
// ],
// data: {
// from: "",
// to:"",
// quantity:"",
// memo:"recover tokens"
// }
// }
]Last updated
Was this helpful?