Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ガスコスト計算機能の開発 #5

Open
susumutomita opened this issue Apr 14, 2024 · 9 comments
Open

ガスコスト計算機能の開発 #5

susumutomita opened this issue Apr 14, 2024 · 9 comments

Comments

@susumutomita
Copy link
Member

No description provided.

@susumutomita
Copy link
Member Author

Rustのコードをどのようにオペコードに変換しているか処理を調べないといけない。

@susumutomita
Copy link
Member Author

ファーストステップとしてストレージだけでも可視化できればよい。

@susumutomita
Copy link
Member Author

https://github.com/OffchainLabs/stylus-sdk-rs
これのコンパイル処理をフックしてストレージコストを出せないとも考えたが
https://docs.rs/stylus-sdk/latest/stylus_sdk/prelude/macro.sol_storage.html
を見ると

#[solidity_storage]
pub struct Contract {
    owner: StorageAddress,
    active: StorageBool,
    sub_struct: SubStruct,
}

のように定義して永続化していくのでこれを解析すれば行けるか?

@susumutomita
Copy link
Member Author

SDK側でアノテーションに対して処理をしているのでこの処理にフックをかければ実現できそうに見える。
外から最適化かけられた場合に差分が出ると思うので

@susumutomita
Copy link
Member Author

それかCLIを裏で実行してガスコストをまず可視化させるか

@susumutomita
Copy link
Member Author

今からできそうなそうなことというと
VSCode内で自動でガスコストの最適化もしくはデプロイされたコードを取得してオペコードを可視化するかくらいか?

@susumutomita
Copy link
Member Author

https://github.com/0xSumitBanik/opcodify
これを統合する感じか?

@susumutomita
Copy link
Member Author

https://github.com/0xSumitBanik/opcodify/blob/main/data/opcodes.json
ここが秘密のコードなんだけど思ったより少ないなこれはいけるんじゃないか

@susumutomita
Copy link
Member Author

stylus-proc/src/storage/mod.rs
ここでマッピングしているように見える

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

1 participant