Pakitandaan na ang prosesong ito ay maari lamang sa Public at Edition collection na inilunsad sa site ng Gamma.
Dahil sa limitasyon sa mga transaksyon sa Stacks, hindi ka makakapag-airdrop ng malaking listahan ng mga address sa pamamagitan ng aming launchpad kapag na-deploy mo ang iyong smart contract.
Walang pangkaraniwang paraan para gawin ito, ngunit narito ang isang paraan: Magagawa mo ito sa pamamagitan ng isang custom contract call.
Pangkalahatang-ideya: Dahil ang admin ng smart contract ay maaaring mag-admin-mint, gagamitin namin iyon para i-mint at ilipat ang NFT sa iyong listahan ng airdrop sa pamamagitan ng pag-deploy ng custom na smart contract.
1. I-visit ang https://create.gamma.io
2. Piliin ang iyong gustong koleksyon
3. (Mahalaga) Habang nasa mint step, tiyaking i-disable ang status ng pag-minting.
Maaaring i-mint ng may-ari ng kontrata kahit na naka-pause ang koleksyon.
4. (Mahalaga) Mangyaring itakda ang presyo sa zero.
Kung maglalagay ka ng presyo ng mint pagkatapos ng airdrop, maaari mong i-set sa ibang pagkakataon ang presyo ng mint gamit ang contract manager: https://support.gamma.io/hc/en-us/articles/6011061378963- Paano-ko-mamahala-ang-aking-Stacks-collection-deployed-from-the-Collection-Mint-Page#h_01FSPY1Y96T31004DMT3ZPSJEE
5. Isumite ang iyong koleksyon at maghintay para sa pag-apruba.
6. Habang naghihintay ng pag-apruba, ihanda ang iyong custom airdrop.
Nasa ibaba ang paunang natukoy na istraktura para sa custom smart contract. Mangyaring baguhin lamang ang mga kinakailangang variable gaya sa ibaba:
```
(define-private (airdrop (id uint) (recipient principal))
(begin
(try! (contract-call? '[CONTRACT ID] claim))
(try! (contract-call? '[CONTRACT ID] transfer id tx-sender recipient))
(ok true)
)
)
(airdrop u1 '[AIRDROP ADDRESS])
(airdrop u2 '[AIRDROP ADDRESS])
...
..
.
and so on
```
[CONTRACT ID] ay ang iyong collection contract. Mahahanap mo ito sa page ng mga detalye ng iyong koleksyon sa pamamagitan ng pag-click sa link ng collection description.
[AIRDROP ADDRESS]ay magiging iyong airdrop Stacks address.
Pakiusap tandaan ang `'` at mangyaring huwag itong alisin.
Ang u1, u2 at iba pa ay mga NFT ID. Dapat itong itakda nang paunti-unti batay sa NFT na gusto mong i-airdrop at hindi dapat lumampas sa iyong kabuuang laki ng koleksyon.
Sa halimbawa sa itaas, gumawa kami ng sample na public mint na may 10 NFT at ipinamahagi ang mga ito sa iba't ibang address.
Collection link: https://stacks.gamma.io/collections/blobs-airdrop
Collection contract: https://explorer.hiro.so/txid/SP2XMGYYTA1KRBKBYJHTW8CFWB2QYZKZE4BMHG3PJ.blobs-airdrop
Collection contract id: SP2XMGYYTA1KRBKBYJHTW8CFWB2QYZKZE4BMHG3PJ.blobs-airdrop
We replace [CONTRACT ID] with the collection contract ID, which is SP2XMGYYTA1KRBKBYJHTW8CFWB2QYZKZE4BMHG3PJ.blobs-airdrop and replace [AIRDROP ADDRESS] with the Stacks address for the airdrop.
```
(define-private (airdrop (id uint) (recipient principal))
(begin
(try! (contract-call? 'SP2XMGYYTA1KRBKBYJHTW8CFWB2QYZKZE4BMHG3PJ.blobs-airdrop claim))
(try! (contract-call? 'SP2XMGYYTA1KRBKBYJHTW8CFWB2QYZKZE4BMHG3PJ.blobs-airdrop transfer id tx-sender recipient))
(ok true)
)
)
(airdrop u1 'SPFBZVVVN43EF1TFES2PTSYWFT5827GCPV3TZ7ZY)
(airdrop u2 'SP2NHANKC8ENVBC788X7WJRA411TW293EVFMX5NFK)
(airdrop u3 'SP3WBND6QBPX9V9G9W7W0X2BMAW1ZRGQ09K3DYJV4)
(airdrop u4 'SP1DED2GN8CRRT6A29NTEP16BW15VC8VVGHVS9973)
(airdrop u5 'SP1QPDY8KDJZA86E8DK0CAFZ90DNYSTDJ8DK0SPJV)
(airdrop u6 'SP161VKTTXKPF2MCNTTZR4455WAZFFAMM8VAFW9XX)
(airdrop u7 'SP161VKTTXKPF2MCNTTZR4455WAZFFAMM8VAFW9XX)
(airdrop u8 'SPXCHF753FXEPQTN1B0C6TCY8Q1MA5TQ8X89V5J3)
(airdrop u9 'SPXCHF753FXEPQTN1B0C6TCY8Q1MA5TQ8X89V5J3)
(airdrop u10 'SPXCHF753FXEPQTN1B0C6TCY8Q1MA5TQ8X89V5J3)
```
Narito ang link sa naka-deploy na custom na kontrata: https://explorer.hiro.so/txid/SP2XMGYYTA1KRBKBYJHTW8CFWB2QYZKZE4BMHG3PJ.blobs-demo-airdrop?chain=mainnet< /1>
Pansinin na may mga umuulit na address. Kapaki-pakinabang ang mga ito kung gusto mong mag-airdrop ng maraming NFT sa iisang address. Kung hindi ka sigurado tungkol sa iyong custom contract at gusto mong suriin muli bago ito i-deploy, maaari mo kaming i-DM sa Discord sa https://discord.gamma.io
7. Sa wakas, maaari mo na ngayong isagawa at i-deploy ang custom contract.
Bisitahin ang https://explorer.hiro.so/sandbox/deploy?chain=mainnet
at mag-login. Pakitiyak na ginagamit mo ang wallet address na ginamit mo upang i-deploy ang iyong koleksyon.
Sa sandaling mag-log in ka, makikita mo ang Write & Deploy tab. Magkakaroon ito ng paunang sample contract. I-clear lang ang mga iyon.
Ngayon, kopyahin ang iyong custom code sa field ng editor.
Maaari kang pumili ng anumang pangalan na gusto mo. Sa aming kaso, ginagamit namin ang "blobs-airdrop-demo".
Panghuli, i-click ang deploy at aprubahan ang transaksyon.
Maaari mong i-download ang sample na custom na kontrata dito at gamitin ang https://vscode.dev upang i-edit ang file.
Kung nag-airdrop ka ng libu-libong mga address, maaaring kailanganin mong i-batch ang mga ito at mag-deploy ng maraming custom na kontrata kung nabigo ang pag-deploy ng kontrata.
Halimbawa:
Ang kontrata 1 ay mamamahagi ng mga token ng NFT mula u1 hanggang u1000
Ang kontrata 2 ay mamamahagi ng mga token ng NFT mula u1001 hanggang u2000
at iba pa...
Sa pagtatapos, kung marami kang airdrops, kailangan mong magbayad ng higit pa para sa gas fee. Maaari mong tingnan ang recommended fee para sa isang function call dito.
Mga Komento
0 komento
Mangyaring mag-sign in upang mag-iwan ng komento.