From 37995e81684b44a6137dcd908a38782616f89324 Mon Sep 17 00:00:00 2001 From: PolymetisOutis Date: Mon, 26 Aug 2024 20:07:18 +0900 Subject: [PATCH] Reflects POINTS made by thurendous about Event Lecturegit add . --- Languages/ja/12_Event_ja/readme.md | 10 +++++----- Languages/ja/13_Inheritance_ja/readme.md | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Languages/ja/12_Event_ja/readme.md b/Languages/ja/12_Event_ja/readme.md index 703c1c406..050a24996 100644 --- a/Languages/ja/12_Event_ja/readme.md +++ b/Languages/ja/12_Event_ja/readme.md @@ -7,7 +7,7 @@ tags: - event --- -# WTF Solidity Tutorial: 12. Events(イベント) +# WTF Solidity 超シンプル入門: 12. Events(イベント) 最近、Solidity の学習を再開し、詳細を確認しながら「Solidity 超シンプル入門」を作っています。これは初心者向けのガイドで、プログラミングの達人向けの教材ではありません。毎週 1〜3 レッスンのペースで更新していきます。 @@ -63,7 +63,7 @@ EVMはSolidityのイベントを保管する為に`Log`を使用します。各 ### `Topics` -`Topics`はイベントを記述する為に使用されます。各イベントは最大4つの`topics`を含んでいます。典型的に、最初の`topic`はイベントハッシュです: イベントシグネチャのハッシュです。`Transfer`イベントのイベントハッシュは次のように計算されます: +`Topics`はイベントを記述する為に使用されます。各イベントは最大で4つのtopicsを含めることが可能です。典型的に、最初の`topic`はイベントハッシュです: イベントシグネチャのハッシュです。`Transfer`イベントのイベントハッシュは次のように計算されます: ```solidity keccak256("Transfer(addrses,address,uint256)") @@ -71,13 +71,13 @@ keccak256("Transfer(addrses,address,uint256)") //0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef ``` -イベントハッシュに加えて、`topics`は3つの`indexed`パラメーターを含んでいます。例えば、`Transfer`イベントにおける`from`と`to`パラメーターのようなものです。匿名イベント(イベントの記述に"anonymous"を付与)は特別です: イベント名を持ちませんし、最大で4つの`indexed`パラメーターを持つことが出来ます。 +イベントハッシュに加えて、`topics`は最大で3つのindex`indexed`パラメーターを含めることが可能です。例えば、`Transfer`イベントにおける`from`と`to`パラメーターのようなものです。匿名イベント(イベントの記述に"anonymous"を付与)は特別です: イベント名を持ちませんし、最大で4つの`indexed`パラメーターを持つことが出来ます。 `indexed`パラメーターはイベントの索引付けされた"key"として理解することが出来ます。そしてそれは容易にプログラムによって照会されることが出来ます。各`indexed`パラメーターのサイズは32バイトです。`array`や`string`のような32バイトよりも大きなパラメーターに関しては、基礎となるデータのハッシュが格納されます。(非基本型(例:配列や構造体)の場合、そのデータ自体ではなく、そのデータのKeccak-256ハッシュが格納される) ### `Data` -索引の無いパラメーターはログの`data`セクションに格納されます。それらはイベントの"value"として解釈され、直接取得することは出来ません。しかしそれらはより大きいサイズのデータを格納することが出来ます。それゆえに、`data`セクションは、`array`や`string`と言った複雑なデータ構造を格納する為に使用されます。その上、`data`は`topic`に較べてより少ないガスを消費します。 +索引付けされていないパラメーターはログの`data`セクションに格納されます。それらはイベントの"value"として解釈され、直接取得することは出来ません。しかしそれらはより大きいサイズのデータを格納することが出来ます。それゆえに、`data`セクションは、`array`や`string`と言った複雑なデータ構造を格納する為に使用されます。これらのデータは256ビットを超えるため、イベントのtopics部分に格納される場合でも、ハッシュ化された形で保存されます。その上、`data`は`topic`に較べてより少ないガスを消費します。 ## Remix Demo `Event.sol`コントラクトを例として見てみましょう。 @@ -100,7 +100,7 @@ keccak256("Transfer(addrses,address,uint256)") ![details of event](./img/12-3_ja.png) -`Topics`には3つの要素があります: `[0]`はイベントのハッシュであり、`[1]`と`[2]`は`Transfer`イベントで定義されている`indexed`パラメーターです(即ち、`from`と`to`です)。`Data`にある要素は索引の無いパラメーター`amount`です。 +`Topics`には3つの要素があります: `[0]`はイベントのハッシュであり、`[1]`と`[2]`は`Transfer`イベントで定義されている`indexed`パラメーターです(即ち、`from`と`to`です)。`Data`にある要素は索引付けされていないパラメーター`amount`です。 ## まとめ このレクチャーでは、`Solidity`におけるイベントを使用し、照会する方法について紹介しました。`Dune Analytics`のような、多くのオンチェーンの分析ツールは、solidityのイベントに基いています。 diff --git a/Languages/ja/13_Inheritance_ja/readme.md b/Languages/ja/13_Inheritance_ja/readme.md index 7d8f63094..e95b77f64 100644 --- a/Languages/ja/13_Inheritance_ja/readme.md +++ b/Languages/ja/13_Inheritance_ja/readme.md @@ -7,7 +7,7 @@ tags: - inheritance --- -# WTF Solidity Tutorial: 13. Inheritance(インターフェース) +# WTF Solidity 超シンプル入門: 13. Inheritance(インターフェース) 最近、Solidity の学習を再開し、詳細を確認しながら「Solidity 超シンプル入門」を作っています。これは初心者向けのガイドで、プログラミングの達人向けの教材ではありません。毎週 1〜3 レッスンのペースで更新していきます。