質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Solidity

Solidityは、仮想通貨イーサリアム上で実行できるプログラミング言語。スマートコントラクトやDAppsなどの開発・実装に用いられます。コントラクト指向・高水準な言語のため、イーサリアム上で動作するEVM Codeに翻訳することが可能です。

Ethereum

Ethereum(イーサリアム)は、ビットコインに次いで時価総額が大きい仮想通貨もしくはそのブロックチェーン技術を指します。DApps やスマート・コントラクトの構築を目的としたプラットフォームであり、OSSで開発されています。

Q&A

解決済

2回答

1787閲覧

ERC20イーサリアムのエアードロップAirDrop方法

bgmapinds

総合スコア17

Solidity

Solidityは、仮想通貨イーサリアム上で実行できるプログラミング言語。スマートコントラクトやDAppsなどの開発・実装に用いられます。コントラクト指向・高水準な言語のため、イーサリアム上で動作するEVM Codeに翻訳することが可能です。

Ethereum

Ethereum(イーサリアム)は、ビットコインに次いで時価総額が大きい仮想通貨もしくはそのブロックチェーン技術を指します。DApps やスマート・コントラクトの構築を目的としたプラットフォームであり、OSSで開発されています。

0グッド

0クリップ

投稿2018/05/13 00:25

イーサリアムのERC20トークンをエアードロップしたいのですが、一つ一つ送っているとお金が掛かって仕方がありません。

一括で複数のアドレスに送付できる機能や方法はあるのでしょうか・・?

わかりません。お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

トークンに手を入れられるのであれば、1回のコントラクトで複数のアドレスに「送金」する、つまり「複数のアドレスの残高をまとめて書き換える」ような機能性をコントラクトに持たせることももちろん可能です。

第三者が作ったなどで、手を入れられないトークンの場合は、外側に出ているAPIを呼び出して使うしかないので、ERC20の範囲内では1回1回送金を繰り返すしかありません。

一部のトークンには、複数のアドレスに一括送金するbatchTransferという関数がありますが、少し前にbatchTransferでオーバーフローしておかしな額を送れてしまうという脆弱性が出て、問題となっています。

投稿2018/05/13 01:38

編集2018/05/13 01:48
maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bgmapinds

2018/05/13 22:00

私のこのような回答に丁寧に答えて下さりありがとうございました。本当に参考になりました。 あなたには希望の香りがしました。といいますのも、以前から参考になる人からお教えいただけたことは感謝です。
bgmapinds

2018/05/13 22:03 編集

すいません。もう一つ教えて頂きたいのですが、例えば、nanjcoinさんだと以下のようなコードがあるのですが、これはどのようにして使うのでしょうか・・唐突にすいません。お許しください。 URL https://etherscan.io/address/0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e265#code コード /** * @dev Function to distribute tokens to the list of addresses by the provided amount */ function distributeAirdrop(address[] addresses, uint256 amount) public returns (bool) { require(amount > 0 && addresses.length > 0 && frozenAccount[msg.sender] == false && now > unlockUnixTime[msg.sender]); amount = amount.mul(1e8); uint256 totalAmount = amount.mul(addresses.length); require(balanceOf[msg.sender] >= totalAmount);
kagawa-san

2018/06/23 09:31

私も追加で質問させてください NANJのコードには、unlockUnixTimeという記載があります。 1,NANJでは具体的にいつをunlockUnixTimeとしてコード上で指定しているのでしょうか どこを確認すればわかるか教えていただけますと幸いです。 2,もしNANJ同様、unlockUnixTimeをつけるとすると、どのような書き方にしてunlockUnixTime日時を指定すれば良いでしょうか。 お手数ではございますが、教えていただけますと幸いです。
guest

0

これは結局のところ
「infura.io + web3.js + ethereumjs-txで実行する」
必要があるということになるのでしょうか?

投稿2018/06/29 02:27

Yeeeee

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問