# 今週何知った? week:26 ## 各自発表 > [name=makicamel] ### Content-Length <img src="https://img.esa.io/uploads/production/attachments/19215/2022/09/18/49657/60a55205-80e2-474c-8840-a1d11c2f29f3.png"> - ボディの長さを指定する - GET 時はオプショナル - POST 時は Content-Length または Transfer-Encodingのどちらかの指定が必須 - PUT, PATCH 時は言及している資料が見つからなかった - クエリストリングだと Content-Length が付与されない? - 411 Length Required - ヘッダ Content-Length が定義されていないリクエストをサーバが拒否したことを示す - クライアントから送信された HTTP リクエストに Content-Length ヘッダが含まれていない場合、サーバがクライアントからのリクエストを拒絶した場合にサーバから送信されるレスポンスコード --- > [name=ken3ypa] ## 概要 - RubyKaigi2022にいった - [Ethereum for Ruby](https://speakerdeck.com/kurotaky/ethereum-for-ruby ) を聞いた - Ethereum の各種単語がまずわかってない、にも関わらずETHを投機的に買ってる - この機会にちょっと基本的な概念から調べようと思った ## 公式 - https://ethereum.org/ja/ ## イーサリアムネットワーク - 分散型アプリケーション(いわゆるDapps)の作成とデプロイのためのオープンソースプラットフォーム - 多数のノードすべてが相互接続され、分散型台帳にデータを保存している - イーサリアムをベースとしたアプリは「スマートコントラクト」を用いて構築される ## スマートコントラクト - 従来の紙ベースのContract(契約)のように合意条件に基づいて契約・履行を行うが、銀行のような仲介者を介在せず、合意条件が満たされれば自動で実行される。これが「スマート」の所以 ### メインネット: - 本番環境に相当。誰でも利用できるグローバルでパブリックなネットワーク - アカウントを使ってアクセスでき、誰でも自分のスマートコントラクトをデプロイできる。 - メインネットワークを利用するとガス代が発生する ### テストネット: - ステージング環境に相当。本番と同様のDBを参照しているケースがあるが、ETHでは別のDBを参照する。テストネットにはいくつか種類がある。ある…あるのだが、この前の The Merge でPoSに移行したことにより一部テストネットが廃止される予定となった。 - Ropsten: - 最も古いテストネット - PoS移行済み - 2022年10-12月廃止予定 - Kiln: - 2022年9月12日 に廃止 - Rinkeby: - PoSには移行せず、2023年4-6月に閉鎖予定 - PoS移行後には下記のテストネットに移行が必要 - Goerli: - 環境がメインネットにより近い - Sepolia: - 新しく、状態や履歴がまだ若い - 2021年10月に作成 - 同期が早いため軽量 ## トランザクション - https://etherscan.io/ - ブロックチェーン・エクスプローラ - イーサリアムブロックチェーン上のトランザクションなどを閲覧することができる - イーサリアム上のすべてのやりとりは公開されており、Etherscanでは検索エンジンのようにこれらを確認できる - 試しに bitflyer から MetaMask のアカウントに送金してみた際の Transaction Detail - https://etherscan.io/tx/0x536a383372be7c5b2b615a1b96211450992fa1117b127c9118869eaea38f4d4f ## ガス代 - ガス: - トランザクションの手数料。トランザクションを実行するために必要な計算処理を推定するための単位。トランザクション送信者が負担する。