最新のアップデートで、インク! 3.0プログラミング言語はRustとの同等性を実現

With Latest Update, ink! 3.0 Programming Language Achieves Parity With Rust

広告


 

 

パリティテクノロジー、背後にある会社 ポルカドット ブロックチェーンは、Rustベースのインクの重要なアップデートを発表しました! スマートコントラクトを作成するためのプログラミング言語。

新しいアップデート、 インク! 3.0、インクを作るように設計されています! ルックアンドフィールは、ベースとなっているRustプログラミング言語に非常に似ています。 今では、Rustプログラマーが精通しているのと同じ機能がすべて付属しています。これは、複雑なスマートコントラクトの作成、更新、推論に関して、Parityが大きな助けになるとParityは言います。 

インク! は、PolkadotおよびSubstrateエコシステムの開発者が最も一般的に使用するプログラミング言語であり、効率的で高性能な記述に最適な言語のXNUMXつです。 Web Assembly(Wasm)スマートコントラクト、イーサリアムのSolidityベースのスマートコントラクトの代替手段です。 インクを使用すると、開発者は、Substrateフレームワークのコントラクトパレットを使用して、ブロックチェーンのスマートコントラクトを作成できます。これは、Polkadot互換のブロックチェーンの主要な構成要素です。 

インク! Rustは、正確性を優先し、ソフトウェアのバグを防ぎ、Amazon Web Services、Google、Microsoftなどの企業からのサポートを含む広範なコミュニティを備えた非常に効率的なプログラミング言語であるため、Rustに基づいています。 つまり、インクを意味します! Rustが持っているのとまったく同じ正確性の保証と、Rustコミュニティがその言語の絶え間ない更新を通じて追加する改善の恩恵を受けます。 

ブログ投稿、パリティはインクを言った! 3.0アップデートは、構文をインクからより適切なマップコードに変更するなど、主要なコンポーネントをすべて書き直すという時間のかかる作業でした。 生成されたRustコードに。 しかし、それは努力する価値がありました。 ink!の構文がRustとほぼ同じになったため、開発者は、最も使い慣れた言語で使用できるrust-analyzerやClippyなどのまったく同じツールにアクセスできます。 

広告


 

 

インクの新機能! 3.0

インクが変わったのはそれだけではありません! 新しいバージョンでは、開発者が独自の特性定義を定義し、それらをインクで実装できる、待望の特性サポートが提供されます。 スマートコントラクト。 これにより、開発者はさまざまな実装への共有スマートコントラクトインターフェイスを定義できます。これは、コミュニティで定義されたスマートコントラクト標準に特に役立ちます。 

インクのその他の改善! 3.0には、より小さな契約サイズが含まれ、パフォーマンスの向上とガス料金の削減につながります。また、スマートコントラクトに、受信したコールを別のコントラクトに転送する方法を提供するデリゲートコールが追加されています。 これにより、開発者は、とりわけ、複数のスマートコントラクトにプロキシアップグレードパターンを実装できるようになります。 

一方、新しいチェーン拡張機能により、開発者はスマートコントラクトから直接Substrateパレットを呼び出し、開発者ツールの豊富なエコシステムにアクセスできます。 

待って、もっとあります! 

インクだけでなく! 3.0、Parityは、パラチェーンのパフォーマンスを向上させることを目的とした契約パレットにいくつかの改善を加え、より良いクロスコントラクトコールとパフォーマンスを約束する新機能を追加したと述べました。 `cargo-contract` 1.0。を使用すると、開発者はスマートコントラクトでより複雑なロジックを作成する方がはるかに簡単になるとParity氏は述べています。 

`cargo-contract`は、ink!ベースのコントラクトを構築、テスト、および展開するために使用できる開発者ツールです。 新しいバージョンでは、チェーン上のスマートコントラクトとの対話を容易にするXNUMXつのコマンドラインインターフェイスコマンドが追加されています。つまり、アップロード、インスタンス化、呼び出しです。 これにより、開発者はコマンドラインから直接行うのではなく、ブラウザUIをクリックしてそのようなコントラクトを操作する必要がなくなるため、作業が大幅に楽になります。 将来的には、これによりスクリプト作成と継続的インテグレーション開発環境への統合も可能になると、パリティ氏は述べています。 

'cargo-contract'のXNUMXつ目の新機能は、プログラムおよびスタイルのエラーがないかソースコードを自動的にチェックし、一般的なエラーが見つかったときにアラートを提供する機能です。 パリティは、これの目的は、インクのリンティングルールのコレクションをゆっくりと構築することであると述べました。 スマートコントラクトは、開発者がガスコストを削減し、スマートコントラクトのフットプリントを小さくし、セキュリティの脆弱性を特定しながらAPIの使用パターンを修正するように導きます。 

Wasmベースのスマートコントラクトの実行環境であるSubstrateのコントラクトパレットも更新されます。 たとえば、州の肥大化を処理するために使用されていた州の賃貸メカニズムは、自動預金回収機能に置き換えられました。 これ以前は、スマートコントラクトは、ストレージの支払いに十分なバランスを常に確保する必要がありました。そうしないと、誰かがストレージを復活させるまで、スマートコントラクトは無効になります。 したがって、これを排除することで、開発者の負担が大幅に軽減されると、Parity氏は述べています。 

自動預金回収では、保管費用は、契約自体ではなく、各スマート契約の呼び出し元によって支払われます。 呼び出し元がデポジットを支払うと、その呼び出しの結果として新しいストレージが作成されます。 パリティは、このメカニズムによってスマートコントラクトが非アクティブになる可能性がなくなると説明しました。 それでも、Parityは、ストレージコストを抑えるために、契約作成者は、ストレージが不要になったときにストレージを削除する方法を作成することで、ストレージの使用量をできるだけ少なくするように努めるべきだと述べました。 

ソース:https://zycrypto.com/with-latest-update-ink-3-0-programming-language-achieves-parity-with-rust/