2017-12-03 28 views
3

現在読んで堅実ドキュメント:internalキーワードを 省略することができるので、デフォルトでは https://solidity.readthedocs.io/en/develop/types.html#function-types内部/外部機能と公開/非公開機能の違いは何ですか?

は、関数型は、内部です。対照的に、コントラクト関数自体はpublicで、 がデフォルトです。タイプの名前として使用されている場合のみ、デフォルトは internalです。

これは私には意味がありません。どのように機能は同時に内部および公衆であることができますか?

私が知っているinternalは、契約内でのみ呼び出すことができ、externalは契約の外で呼び出すことができることを意味します。だから、私には内部はプライベートで、外部は公開されていますが、ドキュメンテーションはパブリックで内部的なものと同じように聞こえるのですか?

したがって、機能に関してはinternal/externalpublic/privateの違いは何ですか?

+3

あなたの質問は別のStackExchangeサイトに適しているかもしれません。ブロックチェーン、Bitcoinおよびその他の暗号化に関する質問については、代わりに[** Bitcoin StackExchange **](https://bitcoin.stackexchange.com)でお問い合わせください。 * Ethereumに関する*具体的な質問については、代わりに[** Ethereum StackExchange **](https://ethereum.stackexchange.com)でお問い合わせください。 :) –

答えて

1

Solinityの用語では、internal/externalは、アクセス修飾子としてだけでなく、「2種類の関数呼び出し」の説明としても使用します。

Take a look at the documentation section about 'Visibility and Getters' inside the contracts

ソリディティは、関数呼び出し(実際のEVMコール(また、「メッセージ・コール」と呼ばれる)と行う外部のものを作成していない内部のもの)の2種類を知っているので、機能のための可視性の4種類があると状態変数。

2
  • 公共 - すべて
  • 外部にアクセスすることができます - 内部でアクセスすることができない、唯一の外部
  • 内部を - それから派生するだけで、この契約と契約ができ アクセス
  • プライベート - この契約からのみアクセスできます
関連する問題