# 3MIKAN > 暗号資産・DeFiとWeb3開発の日本語メディアです。技術解説、仕様変更、安全な確認方法を扱います。 記事の正規URLはHTML版です。引用時は記事の公開日・更新日と一次情報の確認日を区別し、最新仕様は参照先でも確認してください。投資の利益や安全性を保証するものではありません。 Markdown版は公開本文と読者向けメタデータから生成しています。相対リンクは各記事の正規URLを基準に解決してください。llms.txtは案内の提案形式であり、アクセス許可や利用許諾を変更しません。 ## 記事を探す - [公開記事の全索引](https://3mikan.com/llms-articles.txt): タイトル、概要、記事ごとのMarkdown URL - [更新フィード](https://3mikan.com/feed.json): 初回公開日と更新日を持つJSON Feed ## 最近の更新 - [ERC-20の数量計算でNumberを使わない:BigInt・decimals・端数の扱い](https://3mikan.com/archives/6070.md): ERC-20の数量をNumberへ変換すると桁が失われる理由を解説します。入力文字列とBigIntを使った最小単位への変換、decimals未取得、小数桁の超過、表示とJSON保存を実行例で確認します。 - [Ethereum RPCの0x・0x0・0x00は別物:QUANTITYとDATAの見分け方](https://3mikan.com/archives/6071.md): Ethereum RPCの0x、0x0、0x00は同じゼロではありません。QUANTITYとDATAの形式、ABIの返り値、先頭ゼロ、空応答とnullを小さなパーサーで区別します。 - [abi.encodePackedの衝突はハッシュ前に起きる:abi.encodeとの違いを確認する](https://3mikan.com/archives/6072.md): abi.encodePackedで複数の文字列を連結すると区切りが消える理由を解説します。同じバイト列になる例、abi.encodeとの違い、区切り文字や署名で残る注意点を確認します。 - [整数除算はどこで丸める?BigIntで検算するSolidityの計算順序](https://3mikan.com/archives/6073.md): 整数の割り算では、掛ける順序と丸める単位で結果が変わります。BigIntのゼロ方向への丸め、切り上げ、Solidityの演算幅、個別計算と合計計算の違いを実行例で整理します。 - [JavaScriptの文字数とバイト数は違う:UTF-16・UTF-8・絵文字をローカルで確認する](https://3mikan.com/archives/6074.md): JavaScriptの文字数とUTF-8のバイト数が違う理由を、絵文字や結合文字で確認します。UTF-16、コードポイント、書記素クラスタ、正規化、壊さずに短くする処理を解説します。 - [Ethereumのハッシュが合わないときは?Keccak-256・SHA3-256・文字列とバイト列](https://3mikan.com/archives/6075.md): 同じつもりの入力でハッシュが違う原因を、アルゴリズム、16進数の解釈、改行、Unicode正規化、関数シグネチャへ分け、アカウントなしで検算します。 - [indexed stringはなぜログから読めない?検索用トピックと原文を分ける](https://3mikan.com/archives/6076.md): イベントのindexed文字列がハッシュになる理由を、topicsとdataの違い、候補値の照合、通常のABI符号化との違いから説明します。実アカウントを使わず合成ログで検算します。 - [JSON-RPCの一括応答を配列順で読まない:id・部分失敗・欠損の検証](https://3mikan.com/archives/6077.md): JSON-RPCのバッチ応答を送信順に対応付けるバグを、逆順の合成応答で再現。idの型、重複、未知id、部分失敗、null、通知を分けて検証します。 - [Solidityのmemory・storage・calldata:配列の代入はコピーか参照か](https://3mikan.com/archives/6078.md): memoryへ代入した配列が一緒に変わる理由を、保存先と代入先から整理します。独立したコピー、状態の書き換え、calldataの変更禁止を小さなSolidityコードで確かめます。 - [Solidity 0.8でもuint8変換は値を切り捨てる:縮小変換と演算の違い](https://3mikan.com/archives/6079.md): uint256をuint8へ変換したときの切り捨てを、演算オーバーフローと区別します。255・256の境界、変換前の検査、演算前の拡張、bytes型との違いを検証します。 - [Solidityのdeleteでmappingは消えない?配列再利用とキー削除を確認する](https://3mikan.com/archives/6080.md): 構造体や配列をdeleteしてもmappingの値が残る理由を、再割り当てとpopの例で解説します。既知キーの削除、世代による分離、初期値と未登録の違いを確認します。 - [Ethereumの時刻が1970年になるのはなぜ?timestampの秒・ミリ秒・日本時間を整理する](https://3mikan.com/archives/6081.md): EthereumのtimestampをJavaScriptのDateへ渡すと1970年になる原因を、小さな実行例で解説します。秒とミリ秒の変換、BigIntからの範囲検査、日本時間の表示、期限ちょうどの判定を分けて確認します。 ## Optional - [全文集約](https://3mikan.com/llms-full.txt): 全公開記事のMarkdown。必要な記事だけを読む場合は全索引を使用 - [運営者情報](https://3mikan.com/author/mikan): 運営者と編集方針 - [更新情報と配信形式](https://3mikan.com/feeds): 購読方法と提供範囲