このプロジェクトについて
Chainlinkは、ブロックチェーンのセキュリティと信頼性の保証を維持しながら、現実世界のデータとオフチェーン計算へのアクセスを提供することでスマートコントラクトの機能を拡張するオープンソースプロジェクトです。このリポジトリには、Chainlinkコアノードとコントラクトが含まれています。コアノードは、分散型オラクルネットワークに参加するノードオペレーターが実行するバンドルされたバイナリです。
READMEに記載されている主な機能:
- Web UI(デフォルトポート6688)と、管理、ログイン、ジョブ管理用のリモートCLIクライアントを備えたコアノードバイナリ。
- `chainlink jobs list`などのCLIコマンドによるジョブ管理。ジョブ作成に関するドキュメント付き。
- 環境変数とAPI、UI、CLIを介した直接設定の組み合わせによる構成。
- システムを拡張可能にする外部アダプター。シンプルなREST APIを通じてカスタム計算や特殊なAPIの統合を可能にします。
- `plugins/`ディレクトリのYAMLファイルで定義され、loopinstallでインストールされるプラグインサポート。一部のプラグインはプライベートリポジトリを参照します。
- メジャーリリースバージョン用のビルド済みDockerイメージと、ブランチやPRからテスト専用イメージをビルドするワークフロー。
- OIDCキーレス署名を使用したcosignによるリリース検証。
ビルドと開発に関する注意:
- Go、NodeJS、pnpm、PostgreSQL(>= 15.x)が必要です。公式Dockerイメージは、バンドルされたクライアントによりPostgres 18.xまでサポートします。
- `make install`でビルドし、`chainlink help`または`chainlink node start`を実行します。
- ノードの実行には、開かれたwebsocket接続を持つEthereum実行クライアントへのアクセスが必要です。公式にサポートされているクライアントは、Parity/Openethereum(非推奨)、Geth、Besuです。NethermindとErigonはサポート対象とされていますが、既知の問題により壊れています。
- テストには、一時的なテストデータベースを使用した`make test`、またはテストデータベースのセットアップ、マイグレーション、`go test ./...`を含む手動フローを使用できます。レース検出とファズテストがサポートされています。
- リポジトリには3つのGoモジュール(ルート、integration-tests、core/scripts)が含まれており、相対的なreplace指定があります。`make gomodtidy`で3つすべてを整理します。
- コード生成にはmockeryを使用してモックを作成します。再現可能な開発環境のためにNixシェル/flakeが提供されています。
- バージョニングにはChangesetsが使用され、プロジェクトはセマンティックバージョニングとKeep a Changelogの規約に従っています。
コミュニティと貢献:Discordが主要なコミュニケーションチャネルです。貢献ガイドラインと課題トラッカーが参照されており、公式ドキュメントはdocs.chain.linkで入手できます。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.