Program Derived Addressit (PDA:t)

Program Derived Addressit (PDA:t) ovat 32-tavuisia tilien osoitteita, jotka johdettaan deterministisesti ohjelmatunnisteesta ja siemenjoukosta. Ne taataan olevan Ed25519-käyrän ulkopuolella, mikä tarkoittaa, ettei niille ole olemassa yksityistä avainta. Vain ohjelma, jonka tunnistetta käytettiin johtamisessa, voi "allekirjoittaa" PDA:n puolesta, ja se tekee sen invoke_signed-toiminnon kautta ohjelmien välisten kutsujen (CPI) yhteydessä.

Program Derived AddressProgram Derived Address

Keskeiset tiedot

  • Deterministinen: Samat siemenet ja ohjelmatunniste tuottavat aina saman osoitteen.
  • Käyrän ulkopuolella: Johdettu osoite varmistetaan olevan epäkelpo Ed25519-julkinen avain. Jos hajautus sattuu osumaan käyrälle, johtaminen epäonnistuu ja kokeillaan eri bump-siementä.
  • Ei yksityistä avainta: Koska osoite on käyrän ulkopuolella, kukaan ei voi tuottaa sille kryptografista allekirjoitusta. Ohjelma "allekirjoittaa" ajonaikaisen invoke_signed-mekanismin kautta sen sijaan.

Milloin käyttää PDA:ita

  • Deterministinen osoitteistus: Johda sama tili samoista siemenistä joka kerta.
  • Ohjelman allekirjoitus: Vain omistava ohjelma voi allekirjoittaa invoke_signed-toiminnon kautta, mikä mahdollistaa ohjelmien toimimisen autonomisina auktoriteetteina.
  • Käyttäjäkohtainen tila: Johda käyttäjäkohtaiset tilit käyttäjän pubkey-siemenistä (esim. ["user", user_pubkey]).
  • Ei avainparihallintaa: Ei yksityistä avainta tallennettavaksi tai menetettäväksi. Osoite johdetaan puhtaasti siemenistä.

Rajoitukset

RajoitusArvoLähde
Seedien enimmäismäärä16MAX_SEEDS
Seedin enimmäispituus32 tavua per seedMAX_SEED_LEN
Bump-arvoalue0-255 (1 tavu)Lisätään viimeisenä seed-elementtinä
create_program_address-kustannus1 500 CUcreate_program_address_units
find_program_address pahimman tapauksen kustannus1 500 aloitus + 1 500 x iteraatiot1 500 aloituksessa + 1 500 per epäonnistunut bump
PDA-allekirjoittajien enimmäismäärä per CPI16MAX_SIGNERS

Is this page helpful?

Sisällysluettelo

Muokkaa sivua

Hallinnoi

© 2026 Solana Foundation.
Kaikki oikeudet pidätetään.
Yhdistä