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

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

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

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

NumPy

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

Python 3.x

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

Q&A

解決済

1回答

607閲覧

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

okahijiki

総合スコア404

Solidity

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

NumPy

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

Python 3.x

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

0グッド

0クリップ

投稿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

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

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

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

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

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

guest

回答1

0

ベストアンサー

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

総合スコア19769

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

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

okahijiki

2022/10/23 08:23

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問