Ìwọ̀n ọ̀rọ̀
Ìṣòro pẹ̀lú #[max_len(32)] tí ó pàdánù ni pé àkọsílẹ̀ tí a ṣe sílẹ̀ ní í ṣe pẹ̀lú okùn tí a fi báìtì 0 kún láti jẹ́ báìtì 32, nígbà tí ẹ̀ka tí ń ṣe ìyípadà ń gbìyànjú láti ṣe ìyípadà ní ìwọ̀n báìtì tí okùn rẹ gbà ní ti gidi, àwọn báìtì 0 tí ó kù yóò ba àwọn pápá tí ó tẹ̀le jẹ́ fún ìyípadà.
Láti ṣàtúnṣe èyí, mo dábàá lílo declare_program! láti anchor_client. Ní ọ̀nà yẹn, kò ní pọn dandan fún ọ láti ṣe àwòṣe ẹ̀ka kan náà pẹ̀lú ọwọ́ nínú ètò rẹ àti alábàákẹ́gbẹ́, ìwọ yóò sì rí ìyípadà tí a ṣe fún ọ lọ́fẹ̀ẹ́. Dàákọ láti ibeere yìí:
declare_program!(my_program);
use my_program::{ID, accounts::Proposal};
use anchor_client::Client;
let cl = Client::new_with_options(
cluster,
fee_payer,
CommitmentConfig::confirmed(),
);
let p = cl.program(ID).unwrap();
let acc_state: Proposal = p.account().await?;
Bí o kò bá lè ṣe èyí, mo dábàá lílo BorshDeserialize::deserialize gẹ́gẹ́ bí mo ti sọ pé ìṣòro rẹ ni níní báìtì tí ó pọ̀ jù.
Proposal::deserialize(&mut &data[..]).unwrap();
Ṣàkíyèsí pé èyí yóò yí array báìtì rẹ tí ó wà nísàlẹ̀ padà láti tọ́ka sí àwọn báìtì tí ó kù. Mo ń gbèrò pé èyí dára níwọ̀n bí o kò ṣe é lò fún nǹkan mìíràn, ṣùgbọ́n gẹ́gẹ́ bí ìsọfúnni.