本記事は Plasm を開発するStake Technologies によるHow to unlock your tokens for Plasm Network Lockdrop の和訳記事です。
-----------------------------
今回の記事では、Plasm Network Lockdropアプリに新たに追加された「ロック解除」機能について解説していきます。
ロックドロップを発表してからしばらく経ちましたが、今のところ多くの方に参加していただいていることを知り、とても光栄に思っています! そこで、私たちのプラットフォームをサポートするために貴重なトークンをロックしてくださった方々をサポートするために、ロックを追跡したり、トークンのロックを解除したりするための簡単な方法を提供したいと考えました。
ロックドロップのスマートコントラクトは少し前にデプロイされています(こちらで確認できます)なので、ロックドロップに互換性がなくなる変更が入る予定はありません。それどころか、ロック解除機能を追加することは、既存のコントラクトロジックをフロントエンドで更新するだけです。目的は、ロックを追跡してロックを解除するプロセスを、ほとんどのユーザーが簡単に行えるようにすることです。
この更新は、ロックドロップアプリケーションhttps://lockdrop.plasmnet.io/ にアクセスして、ご自身で確認することができます。ETHをお持ちの方は、ぜひ参加をご検討ください!
どうやってロックを解除するのか?
UIの変更点の話の前に、まずロックを解除する方法について説明いたします。
/**
* @dev Withdraw function once timestamp has passed unlock time
*/
function () external payable {
assembly {
switch gt(timestamp, sload(0x01))
case 0 { revert(0, 0) }
case 1 {
switch call(gas, sload(0x00), balance(address), 0, 0, 0, 0)
case 0 { revert(0, 0) }
}
}
}
上記の匿名関数は、インスタンス化されたロックのアンロック機能を処理します。
つまり、アドレスが空のトランザクション(0ETH)を送信すると、ロックのタイムスタンプ(期間を含む)と現在のブロックをチェックし、ロックのタイムスタンプが現在のブロックのタイムスタンプよりも大きければ、エラーを返します。ロックのタイムスタンプが現在のブロックのタイムスタンプよりも小さい場合、トランザクションは成功し、すべての契約残高(すなわちロックされた金額)が最初にロックしたアドレスに戻されます。
ロック時間がまだ終わっていないため、トランザクションはエラーを返します。
ロックを解除するためには(ロック期間が終了したことを考えると)0ETHのトランザクションをロックアドレスに送るだけです。この取引は取引手数料を払える人なら誰でも行うことができ、ロックされた金額は誰が取引を送ったかに関係なく常に元のロッカーに戻ります。つまり、理論的には、誰かにトークンのロックを解除してもらう一方で、ロックされたETHを自分のアドレスに返してもらうことができるのです。
サイトからロックを解除する
トークンのロックを解除するプロセスをより簡単にするために、ページのグローバルロックセクションのすぐ横にあるロック解除タブを開発しました。
このタブは、プラットフォーム上のすべてのロックをリアルタイムで追跡し、ロックが終了するまでの日数を表示します!タイマーが切れると、右側のロックアイコンが薄い色に変わり、ロックを解除できることを知らせてくれます。そのアイコンをクリックすると、ロックアドレスへの0ETHの取引が開始されます。
すべてが順調に進んだ場合、ロックアイコンがグレーアウトされ、すでにロックが解除されていることがわかります。
コミュニティに参加しよう!
質問やディスカッション、Web 3.0の将来に貢献したい方は、ぜひ私たちのコミュニティに参加してみてください!
https://discordapp.com/invite/Gbp3E8N
http://plasmnet.io/
https://t.me/joinchat/IxHd_BfELvbxC9lUYm_czw