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

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

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

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

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

16進数の数をuintにキャストできる?

okahijiki
okahijiki

総合スコア403

Solidity

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

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

1回答

0グッド

0クリップ

221閲覧

投稿2022/10/23 07:39

「クリプトゾンビ」にてSolidityのチュートリアルをやっています。

その中で「keccak256で得た16進数の任意の値をuintにキャストする」というコメントが出てきます。

普通に考えて、不可能な気がするのですが...どなたか解説していただけると助かります。

参考までにpythonにて考察してみました。ご参照ください。

python

1from hashlib import sha3_256 2import numpy as np 3 4Keccak256 = sha3_256(b'Hello').hexdigest() 5print(Keccak256) 6# 8ca66ee6b2fe4bb928a8e3cd2f508de4119c0895f22e011117e22cf9b13de7ef 7 8print(np.uint(Keccak256)) 9#ValueError: invalid literal for int() with base 10: '8ca66ee6b2fe4bb928a8e3cd2f508de4119c0895f22e011117e22cf9b13de7ef' 10 11

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

7

ベストアンサー

python

1>>> int(Keccak256, base=16) 263617860826146585716647170275015064910675198957363091123453775924866420959215 3 4>>> help(int) 5class int(object) 6 | int([x]) -> integer 7 | int(x, base=10) -> integer 8 | 9 | Convert a number or string to an integer, or return 0 if no arguments 10 | are given. If x is a number, return x.__int__(). For floating point 11 | numbers, this truncates towards zero. 12 | 13 | If x is not a number or if base is given, then x must be a string, 14 | bytes, or bytearray instance representing an integer literal in the 15 | given base. The literal can be preceded by '+' or '-' and be surrounded 16 | by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. 17 | Base 0 means to interpret the base from the string as an integer literal. 18 | >>> int('0b100', base=0) 19 | 4 20 21 :

投稿2022/10/23 07:53

編集2022/10/23 07:58
melian

総合スコア16350

spoofy_dragon😄を押しています
spoofy_dragon👍を押しています
spoofy_dragon❤️を押しています
spoofy_dragon😍を押しています
spoofy_dragon👏を押しています
spoofy_dragon🎉を押しています
spoofy_dragonを押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

okahijiki

2022/10/23 08:23

確かめてみました。たしかに整数に変換されました。ご回答を元に「クリプトゾンビ」の疑問点も解消されました。 helpで詳細が読めるのですね。まだ読み込むまでの力はありませんが、がんばって読めるようになりたいと存じます。ありがとうございました。

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Solidity

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

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。