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

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

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

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

Ethereum

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

Q&A

解決済

1回答

220閲覧

NANJコインのunlockUnixTimeについて

kagawa-san

総合スコア13

Solidity

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

Ethereum

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

0グッド

0クリップ

投稿2018/06/23 12:23

前提・実現したいこと

NANJコインのunlockUnixTimeについて

知りたいこと

NANJコインのコードを参考にERC223のコントラクトを作成しています。 NANJコインのコードに unlockUnixTime という記載があります。 下記のブログによると、ロックアップ期間をしていているとのことでしたが、具体的にいつを unlockUnixTime として指定しているのか不明でした。 https://qiita.com/yukkuri_sinai/items/4e076bbdbe773fae12fc ご質問事項 ① unlockUnixTime はNANJコインのコード上ではどこで指定しているのでしょうか。 ②NANJのコードを参考にコントラクトを作成する際、 unlockUnixTime の箇所はどのように記載すれば良いでしょうか。

該当のソースコード

mapping (address => uint256) public unlockUnixTime; … now > unlockUnixTime[msg.sender]

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

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

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

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

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

guest

回答1

0

ベストアンサー

NANJCoinのSolidityソースコードはGitHubにもありますので、unlockUnixTimeで検索すれば、これを操作するfunction lockupAccountsという関数が見つかるかと思います。

もっとも、トークンの機能を増やせばそれだけバグを作り込む危険も上がりますので、実用上はトークンと別に「ロックアップするためだけのコントラクト」を立てたほうがいいかもしれません。

投稿2018/06/23 12:33

maisumakun

総合スコア145183

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

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

kagawa-san

2018/06/23 14:24

maisumakun様 ご回答ありがとうございます。大変勉強になりました。 該当のfunction lockupAccountsという関数を見つけました。 もし、可能であれば下記のコードで、具体的にどのようにして時間を設定しているか、このコードを参考にコーディングする場合、何に気をつければよいか、教えていただけませんでしょうか。 function lockupAccounts(address[] targets, uint[] unixTimes) onlyOwner public { require(targets.length > 0 && targets.length == unixTimes.length); for(uint j = 0; j < targets.length; j++){ require(unlockUnixTime[targets[j]] < unixTimes[j]); unlockUnixTime[targets[j]] = unixTimes[j]; LockedFunds(targets[j], unixTimes[j]); } }
kagawa-san

2018/06/23 15:08

こちらですが、もしかすると特定の任意のアカウントをロックするという機能になりますでしょうか。 使い道としては、「特定のアカウントをXXXX年X月X日までロックする」というものではなく、単純に「特定のアカウントをロックする」というものかと思いますがあっていますでしょうか。
kagawa-san

2018/06/23 15:12

Remixで確認したところ、lockupAccountsが実行できる箇所を見つけました。 こちらでアカウントと unixTimes を指定できそうです。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問