@@ -763,6 +763,110 @@ Consider:
763763- ** Concurrent requests** : The API handles concurrent requests but intensive
764764 queries may affect node performance
765765
766+ ## Implementation Status Comparison
767+
768+ This table tracks the implementation status of GraphQL endpoints in the Mina
769+ Rust node compared to the
770+ [ OCaml node] ( https://github.com/MinaProtocol/mina/blob/compatible/src/lib/mina_graphql/mina_graphql.ml#L2813-L2855 ) .
771+ For more details, see the tracking
772+ [ issue #1039 ] ( https://github.com/o1-labs/mina-rust/issues/1039 ) .
773+
774+ ### Query Endpoints Status
775+
776+ | Endpoint | Description | Priority | Rust Status | Notes |
777+ | -------------------------------------------------------------------------------------- | ------------------------------------- | -------- | ------------------ | ------------------------------------ |
778+ | ** Core Queries** | | | | |
779+ | [ ` daemonStatus ` ] ( #daemonstatus ) | Get running daemon status | HIGH | ✅ Implemented | Full daemon status with network info |
780+ | [ ` account ` ] ( #accountpublickey-string-token-string ) | Find account via public key and token | HIGH | ✅ Implemented | Account balance, nonce, delegate |
781+ | [ ` block ` ] ( #blockheight-int-statehash-string ) | Retrieve block by hash or height | HIGH | ✅ Implemented | Full block with transactions |
782+ | [ ` pooledUserCommands ` ] ( #pooledusercommandspublickey-string-hashes-string-ids-string ) | User commands in transaction pool | HIGH | ✅ Implemented | Payments and delegations |
783+ | [ ` pooledZkappCommands ` ] ( #pooledzkappcommandspublickey-string-hashes-string-ids-string ) | zkApp commands in transaction pool | HIGH | ✅ Implemented | Smart contract transactions |
784+ | [ ` transactionStatus ` ] ( #transactionstatuspayment-string-zkapptransaction-string ) | Get transaction status | HIGH | ✅ Implemented | PENDING, INCLUDED, or UNKNOWN |
785+ | [ ` networkID ` ] ( #networkid ) | Chain-agnostic network identifier | HIGH | ✅ Implemented | Returns ` mina:<network_name> ` |
786+ | ** Blockchain Info** | | | | |
787+ | [ ` syncStatus ` ] ( #syncstatus ) | Network sync status | - | ✅ Implemented | Sync state tracking |
788+ | [ ` version ` ] ( #version ) | Node version (git commit hash) | - | ✅ Implemented | Build information |
789+ | [ ` bestChain ` ] ( #bestchainmaxlength-int ) | Blocks from root to best tip | - | ✅ Implemented | Ordered chain of blocks |
790+ | [ ` genesisBlock ` ] ( #genesisblock ) | Get the genesis block | - | ✅ Implemented | Initial block data |
791+ | [ ` genesisConstants ` ] ( #genesisconstants ) | Genesis configuration | - | ✅ Implemented | Network parameters |
792+ | ** SNARK Pool** | | | | |
793+ | [ ` snarkPool ` ] ( #snarkpool ) | Completed SNARK works | - | ✅ Implemented | Proofs with fees |
794+ | [ ` pendingSnarkWork ` ] ( #pendingsnarkwork ) | SNARK work to be done | - | ✅ Implemented | Available work items |
795+ | [ ` currentSnarkWorker ` ] ( #currentsnarkworker ) | Current SNARK worker info | - | ✅ Implemented | Worker configuration |
796+ | ** Not Yet Implemented** | | | | |
797+ | ` accounts ` | All accounts for a public key | - | ❌ Not Implemented | Multiple account support |
798+ | ` tokenAccounts ` | All accounts for a token ID | - | ❌ Not Implemented | Token-specific queries |
799+ | ` tokenOwner ` | Account that owns a token | - | ❌ Not Implemented | Token ownership |
800+ | ` trackedAccounts ` | Accounts with tracked private keys | - | ❌ Not Implemented | Wallet management |
801+ | ` getPeers ` | Connected peers list | - | ⚠️ Partial | Only via daemonStatus |
802+ | ` initialPeers ` | Initial connection peers | - | ❌ Not Implemented | Bootstrap peers |
803+ | ` trustStatus ` | Trust status for IP | - | ❌ Not Implemented | Peer trust management |
804+ | ` trustStatusAll ` | All peers trust status | - | ❌ Not Implemented | Network trust state |
805+ | ` validatePayment ` | Validate payment format | - | ❌ Not Implemented | Transaction validation |
806+ | ` runtimeConfig ` | Runtime configuration | - | ❌ Not Implemented | Node configuration |
807+ | ` fork_config ` | Blockchain fork config | - | ❌ Not Implemented | Fork parameters |
808+ | ` evaluateVrf ` | Evaluate VRF for public key | - | ❌ Not Implemented | VRF operations |
809+ | ` checkVrf ` | Check VRF evaluation | - | ❌ Not Implemented | VRF verification |
810+ | ` blockchainVerificationKey ` | Protocol state proof key | - | ❌ Not Implemented | Verification keys |
811+ | ` signatureKind ` | Signature type in use | - | ❌ Not Implemented | Cryptography info |
812+ | ` timeOffset ` | Blockchain time offset | - | ❌ Not Implemented | Time synchronization |
813+ | ` connectionGatingConfig ` | Connection rules | - | ❌ Not Implemented | Network policies |
814+ | ` threadGraph ` | Internal thread graph | - | ❌ Not Implemented | Debugging tool |
815+ | ` getFilteredLogEntries ` | Structured log events | - | ❌ Not Implemented | Testing/debugging |
816+
817+ ### Mutation Endpoints Status
818+
819+ | Endpoint | Description | Priority | Rust Status | Notes |
820+ | ----------------------------------- | ---------------------- | -------- | ------------------ | ----------------------- |
821+ | ** Core Mutations** | | | | |
822+ | [ ` sendPayment ` ] ( #sendpayment ) | Send a payment | HIGH | ✅ Implemented | Full payment submission |
823+ | [ ` sendDelegation ` ] ( #senddelegation ) | Change delegation | HIGH | ✅ Implemented | Stake delegation |
824+ | [ ` sendZkapp ` ] ( #sendzkapp ) | Send zkApp transaction | HIGH | ✅ Implemented | Smart contracts |
825+ | ** Not Yet Implemented** | | | | |
826+ | ` createAccount ` | Create new account | - | ❌ Not Implemented | Account creation |
827+ | ` createHDAccount ` | Create HD account | - | ❌ Not Implemented | HD wallet support |
828+ | ` unlockAccount ` | Unlock account | - | ❌ Not Implemented | Enable transactions |
829+ | ` lockAccount ` | Lock account | - | ❌ Not Implemented | Disable transactions |
830+ | ` deleteAccount ` | Delete private key | - | ❌ Not Implemented | Key management |
831+ | ` reloadAccounts ` | Reload account info | - | ❌ Not Implemented | Account refresh |
832+ | ` importAccount ` | Import from file | - | ❌ Not Implemented | Account import |
833+ | ` mockZkapp ` | Mock zkApp (testing) | - | ❌ Not Implemented | Testing tool |
834+ | ` sendTestPayments ` | Test payment series | - | ❌ Not Implemented | Testing tool |
835+ | ` sendRosettaTransaction ` | Rosetta format tx | - | ❌ Not Implemented | Rosetta API |
836+ | ` exportLogs ` | Export daemon logs | - | ❌ Not Implemented | Log management |
837+ | ` setCoinbaseReceiver ` | Set coinbase key | - | ❌ Not Implemented | Block production |
838+ | ` setSnarkWorker ` | Configure SNARK worker | - | ❌ Not Implemented | SNARK configuration |
839+ | ` setSnarkWorkFee ` | Set SNARK work fee | - | ❌ Not Implemented | Fee configuration |
840+ | ` setConnectionGatingConfig ` | Set connection rules | - | ❌ Not Implemented | Network policies |
841+ | ` addPeers ` | Connect to peers | - | ❌ Not Implemented | Peer management |
842+ | ` archivePrecomputedBlock ` | Archive precomputed | - | ❌ Not Implemented | Archive operations |
843+ | ` archiveExtensionalBlock ` | Archive extensional | - | ❌ Not Implemented | Archive operations |
844+
845+ ### Subscription Endpoints Status
846+
847+ | Endpoint | Description | Rust Status | Notes |
848+ | --------------------- | ------------------- | ------------------ | ---------------------- |
849+ | ` newSyncUpdate ` | Sync status changes | ❌ Not Implemented | Uses EmptySubscription |
850+ | ` newBlock ` | New block events | ❌ Not Implemented | Uses EmptySubscription |
851+ | ` chainReorganization ` | Best tip changes | ❌ Not Implemented | Uses EmptySubscription |
852+
853+ ### Implementation Summary
854+
855+ - ** Total endpoints in OCaml node** : ~ 61 (excluding deprecated)
856+ - ** Implemented in Rust** : 18 endpoints
857+ - ** Partially implemented** : 1 endpoint
858+ - ** Not implemented** : ~ 37 endpoints
859+ - ** Deprecated (skipped)** : 8 endpoints
860+
861+ All HIGH priority endpoints required for basic node operation are fully
862+ implemented. The Rust implementation focuses on core functionality needed for:
863+
864+ - Blockchain synchronization
865+ - Account queries
866+ - Transaction submission (payments, delegations, zkApps)
867+ - SNARK work coordination
868+ - Network status monitoring
869+
766870## Next Steps
767871
768872- [ Node Architecture] ( ./architecture ) - Understanding the node's internal
0 commit comments