-
bitcoin $77146.398531 USD
-0.23% -
ethereum $2514.088317 USD
-0.37% -
tether $0.999674 USD
0.00% -
bnb $722.500739 USD
-1.34% -
xrp $1.361192 USD
-0.23% -
usd-coin $0.999776 USD
-0.01% -
solana $101.320251 USD
-0.42% -
tron $0.339801 USD
0.16% -
hyperliquid $78.899137 USD
-0.02% -
zcash $1141.149289 USD
-0.18% -
dogecoin $0.084480 USD
-0.05% -
monero $530.834712 USD
-1.66% -
chainlink $11.453705 USD
-0.73% -
unus-sed-leo $9.056535 USD
-0.61% -
cardano $0.207439 USD
-0.31%
Solidity の有料機能と非支払い機能の違いは何ですか?
In Solidity, only functions marked `payable` can receive Ether, preventing accidental or malicious fund transfers and ensuring secure contract design.
2025/11/14 13:59
Solidity の関数修飾子を理解する
Solidity では、スマート コントラクト内の関数に、Ether との対話方法を決定する特定の修飾子を割り当てることができます。これらの修飾子は、関数が実行中に資金を受け取ることができるかどうかを決定する上で重要な役割を果たします。支払い可能な機能と支払い不可能な機能の違いは、トランザクションの一部として Ether を受け入れることができるかどうかにあります。
Payable 機能: イーサ送金の受け入れ
1. Payable 関数にはPayable修飾子が明示的にマークされており、呼び出されたときに Ether を受信できるようになります。
- ユーザーが支払い可能な機能を呼び出すトランザクションとともに Ether を送信すると、資金が契約の残高に転送されます。
- payable 修飾子がないと、Ether を関数に送信しようとするとトランザクションが失敗します。
- 有料関数は、クラウドファンディング、寄付、またはユーザーが関数呼び出しを通じて直接資金を寄付するメカニズムなどの機能に不可欠です。
- Payable 関数内で、開発者は、受信した金額を保持するmsg.valueを使用して、送信された金額にアクセスできます。
非有料機能: 受信イーサの拒否
1. デフォルトでは、特に指定がない限り、Solidity の機能は支払い対象外です。
- トランザクションが支払い不能な機能に Ether を送信しようとすると、偶発的な資金の損失を防ぐためにトランザクション全体が元に戻されます。
- この動作により、ユーザーとコントラクト ロジックの両方が意図しない Ether 転送から保護されます。
- 支払い不要の関数は、財務入力を必要とせずに状態の変更またはデータの読み取りのみを行う操作に適しています。
- 関数が Ether を予期していない場合でも、支払い可能としてマークされていない場合、 msg.value > 0で関数を呼び出すと実行時例外が発生します。
スマートコントラクト設計における実際的な意味
1. 資金を受け入れる必要があるときに機能に支払い不能のラベルを付けると、トークンの購入やステーキング メカニズムなどのコア機能が壊れる可能性があります。
- 逆に、不要な関数を支払い可能としてマークすると、特にmsg.valueに関する適切な検証が欠落している場合、攻撃対象領域が増加します。
- 開発者は、Ether フローが正しく処理されていることを確認するために、すべての外部向け関数を注意深く監査する必要があります。
- 静的アナライザーやテスト フレームワークなどのツールは、展開前に Payable モディファイアーの誤った使用を検出するのに役立ちます。
- 複雑な契約では、資金の受け取りと公益事業の機能を区別することで、コードの明瞭さとセキュリティが向上します。
よくある質問
建設業者に報酬を支払うことはできますか?はい、コンストラクターを支払可能としてマークできます。これにより、展開中にコントラクトが Ether を受け入れることができるようになります。デプロイメント トランザクションに値の転送が含まれる場合、元に戻さないようにコンストラクターに支払いを行う必要があります。
Ether で支払い不要の関数を呼び出すとどうなりますか?トランザクションは自動的に元に戻り、状態の変化は発生しません。 Ethereum は、このルールを EVM レベルで強制して、Ether を処理するように設計されていない機能への偶発的な Ether 転送を防ぎます。
契約内のすべての機能をデフォルトで支払う方法はありますか?いいえ、各機能は個別に支払い可能として宣言する必要があります。すべての関数が Ether を受け入れるようにするためのグローバル設定はありません。この設計により、資金受け取りの意図的かつ安全な処理が保証されます。
支払いが不可能な場合、フォールバック関数は Ether を受け取ることができますか?いいえ、イーサを受け入れるには、フォールバック関数であっても支払い可能としてマークする必要があります。支払い不要のフォールバック関数は、関数呼び出しを指定せずにコントラクトに送信される受信 Ether を拒否します。
免責事項:info@kdj.com
提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。
このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。
- 日本、XRP、そしてXRP軍:グローバル金融における静かな革命?
- 2026-09-13 20:35:02
- 未確認の話題: 金網クジラ、1,000 万リンク、そして 17% の修正 - 実際に何が起こっているのでしょうか?
- 2026-09-13 16:55:01
- Cardano 価格の予測、分析、および動き: 市場のボラティリティと将来の可能性をナビゲートする
- 2026-09-13 16:25:01
- Revolut データ侵害: 偽の政府要求がセキュリティのギャップを悪用し、顧客データを暴露
- 2026-09-13 09:00:02
- ブロックストリーム、リキッドネットワーク、ビットコイン:「盗まれた」資金をめぐる対立
- 2026-09-13 08:35:01
- リップル RLUSD の流通額が 24 億ドルに達: ステーブルコインの軌跡を詳しく見る
- 2026-09-13 04:50:01
関連知識
DOGE 先物の出来高と建玉を確認するにはどうすればよいですか?
2026-09-12 08:39:38
DOGE 先物ボリュームを理解する1. 先物取引高とは、特定の時間枠内で取引される DOGE 件の先物契約の総数を指し、通常は 1 日または 1 時間ごとに測定されます。 2. 出来高が多いということは、多くの場合、市場への参加が強力であることを示しており、価格変動の状況に応じてトレンドの継続または...
BTC先物の出来高と建玉を確認するにはどうすればよいですか?
2026-09-12 15:19:55
BTC先物指標のデータソース1. CoinGlass API v4 は、30 以上の取引所にわたるリアルタイムの資金調達レート、清算ヒートマップ、および詳細な建玉の内訳を提供します。 2. Binance Futures API は、ビッドアスク深度、契約固有の出来高履歴、マージン率スナップショット...
DOGEUSDT 無期限契約チャートの見方
2026-09-11 19:19:48
DOGEUSDT 無期限チャートの価格アクションを理解する1. ローソク足の形成は、当面の市場センチメントを明らかにします。緑のローソクは買い優勢を示し、赤のローソクはその期間中の売り圧力を示します。 2. 本体の上下の芯は、価格の高値または低値の拒否を示します。不安定なミームコイン市場では、長い上...
Binance の ETHUSDT 先物チャートを読むには?
2026-09-13 05:20:26
Bitcoin 半減力学1. 210,000 ブロックごとに、Bitcoin 名のマイナーのブロック報酬が半分になります。 2. このイベントは約 4 年ごとに発生し、Bitcoin のプロトコルにハードコードされています。 3. 最新の半減により、報酬はブロックあたり 6.25 BTC から 3....
Binance の Bitcoin 先物ファンディング手数料を確認するにはどうすればよいですか?
2026-09-13 18:00:17
Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の半減期の時点で...
BinanceでBTC先物ファンディング手数料を確認するにはどうすればよいですか?
2026-09-10 08:00:06
ファンディングレート表示の場所1. Binance Futures 取引インターフェイスに移動し、BTCUSDT 無期限契約を選択します。 2. 価格チャートの直下またはオーダーブックに隣接する領域を観察します。この領域には、「資金調達レート」とマークされたラベル付きボックスが含まれています。 3....
DOGE 先物の出来高と建玉を確認するにはどうすればよいですか?
2026-09-12 08:39:38
DOGE 先物ボリュームを理解する1. 先物取引高とは、特定の時間枠内で取引される DOGE 件の先物契約の総数を指し、通常は 1 日または 1 時間ごとに測定されます。 2. 出来高が多いということは、多くの場合、市場への参加が強力であることを示しており、価格変動の状況に応じてトレンドの継続または...
BTC先物の出来高と建玉を確認するにはどうすればよいですか?
2026-09-12 15:19:55
BTC先物指標のデータソース1. CoinGlass API v4 は、30 以上の取引所にわたるリアルタイムの資金調達レート、清算ヒートマップ、および詳細な建玉の内訳を提供します。 2. Binance Futures API は、ビッドアスク深度、契約固有の出来高履歴、マージン率スナップショット...
DOGEUSDT 無期限契約チャートの見方
2026-09-11 19:19:48
DOGEUSDT 無期限チャートの価格アクションを理解する1. ローソク足の形成は、当面の市場センチメントを明らかにします。緑のローソクは買い優勢を示し、赤のローソクはその期間中の売り圧力を示します。 2. 本体の上下の芯は、価格の高値または低値の拒否を示します。不安定なミームコイン市場では、長い上...
Binance の ETHUSDT 先物チャートを読むには?
2026-09-13 05:20:26
Bitcoin 半減力学1. 210,000 ブロックごとに、Bitcoin 名のマイナーのブロック報酬が半分になります。 2. このイベントは約 4 年ごとに発生し、Bitcoin のプロトコルにハードコードされています。 3. 最新の半減により、報酬はブロックあたり 6.25 BTC から 3....
Binance の Bitcoin 先物ファンディング手数料を確認するにはどうすればよいですか?
2026-09-13 18:00:17
Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の半減期の時点で...
BinanceでBTC先物ファンディング手数料を確認するにはどうすればよいですか?
2026-09-10 08:00:06
ファンディングレート表示の場所1. Binance Futures 取引インターフェイスに移動し、BTCUSDT 無期限契約を選択します。 2. 価格チャートの直下またはオーダーブックに隣接する領域を観察します。この領域には、「資金調達レート」とマークされたラベル付きボックスが含まれています。 3....
すべての記事を見る














