I'm conducting an airdrop to every eos holders(ie. about 163,000). I've done a requirement estimation and it has been found that around 20 mb ram is needed. 464.28 EOS is required to buy that much of ram as per current(22/06/2018) market price. Can I sell this much ram after my usage?
1 Answer
Technically depends on whatever smart contract you'll use for the tokens however I'll assume you're using the eosio.token
contract.
You can sell this RAM only if you're able to unstake it, you cannot unstake RAM if it is currently being used, it is used in the multi-index containers which each row costs a portion of RAM.
In the eosio.token
contract, there is a row for each holder of each symbol, therefore if you're sending to 163,000 STEVE tokens, you're going to need to pay for their 163,000 rows in that table + the CPU and bandwidth costs on top of that.
Once your RAM is committed to each of these rows, they will remain committed until a user has claimed it by transferring the token which then makes them the RAM payer or if the balance has reached a balance of 0.00 in which case the row is destroyed and RAM returned to whoever's RAM was used.
-
1I have an idea of proposing a feature in the
eosio.token
contract which allows anyone to create a 0.000 balance of an existing symbol if they don't already have a balance. In the event of an Airdrop, you'd get users to 'register' themselves against the contract, which then you can then give them tokens. This I'd say would be tedious for the user but achieves no commitment of your RAM, just CPU & bandwidth. Let me know if you'd like an update should I end up proposing. Jun 22, 2018 at 9:46 -
oh, right, if somebody transfer all his token to others, then you will get your ram back Jun 23, 2018 at 10:47
-
@KemmyGuo Yeah, if someone does a transfer which reaches a balance of 0, the RAM will then get released. Jun 24, 2018 at 7:48