forest
forest copied to clipboard
RPC method v1 tracking issue
Issue summary
Version 1 methods:
- General
- Auth
- Chain
- ChainBlockstoreInfo
- ChainCheckBlockstore
- ChainDeleteObj
- ChainExport
- ChainExportRangeInternal
- ChainGetBlock
- ChainGetBlockMessages
- ChainGetEvents
- ChainGetGenesis
- ChainGetMessage
- ChainGetMessagesInTipset
- ChainGetNode
- ChainGetParentMessages
- ChainGetParentReceipts
- ChainGetPath
- ChainGetTipSet
- ChainGetTipSetAfterHeight
- ChainGetTipSetByHeight
- ChainHasObj
- ChainHead
- ChainHotGC
- ChainNotify
- ChainPrune
- ChainPutObj
- ChainReadObj
- ChainSetHead
- ChainStatObj
- ChainTipSetWeight
- Client
- ClientGenCar
- ClientGetDealInfo
- ClientGetDealStatus
- ClientGetDealUpdates
- ClientGetRetrievalUpdates
- ClientHasLocal
- ClientImport
- ClientListDataTransfers
- ClientListDeals
- ClientListImports
- ClientListRetrievals
- ClientMinerQueryOffer
- ClientQueryAsk
- ClientRemoveImport
- ClientRestartDataTransfer
- ClientRetrieve
- ClientRetrieveTryRestartInsufficientFunds
- ClientRetrieveWait
- ClientStartDeal
- ClientStatelessDeal
- Create
- Eth
- EthAccounts
- EthAddressToFilecoinAddress
- EthBlockNumber
- EthCall
- EthChainId
- EthEstimateGas
- EthFeeHistory
- EthGasPrice
- EthGetBalance
- EthGetBlockByHash
- EthGetBlockByNumber
- EthGetBlockTransactionCountByHash
- EthGetBlockTransactionCountByNumber
- EthGetCode
- EthGetFilterChanges
- EthGetFilterLogs
- EthGetLogs
- EthGetMessageCidByTransactionHash
- EthGetStorageAt
- EthGetTransactionByBlockHashAndIndex
- EthGetTransactionByBlockNumberAndIndex
- EthGetTransactionByHash
- EthGetTransactionByHashLimited
- EthGetTransactionCount
- EthGetTransactionHashByCid
- EthGetTransactionReceipt
- EthGetTransactionReceiptLimited
- EthMaxPriorityFeePerGas
- EthNewBlockFilter
- EthNewFilter
- EthNewPendingTransactionFilter
- EthProtocolVersion
- EthSendRawTransaction
- EthSubscribe
- EthSyncing
- EthTraceBlock
- EthTraceReplayBlockTransactions
- EthUninstallFilter
- EthUnsubscribe
- Filecoin
- Gas
- I
- Log
- Market
- Miner
- Mpool
- Msig
- Net
- NetAddrsListen
- NetAgentVersion
- NetAutoNatStatus
- NetBandwidthStats
- NetBandwidthStatsByPeer
- NetBandwidthStatsByProtocol
- NetBlockAdd
- NetBlockList
- NetBlockRemove
- NetConnect
- NetConnectedness
- NetDisconnect
- NetFindPeer
- NetLimit
- NetListening
- NetPeerInfo
- NetPeers
- NetPing
- NetProtectAdd
- NetProtectList
- NetProtectRemove
- NetPubsubScores
- NetSetLimit
- NetStat
- NetVersion
- Node
- Paych
- Raft
- Start
- State
- StateAccountKey
- StateActorCodeCIDs
- StateActorManifestCID
- StateAllMinerFaults
- StateCall
- StateChangedActors
- StateCirculatingSupply
- StateCompute
- StateComputeDataCID
- StateDealProviderCollateralBounds
- StateDecodeParams
- StateEncodeParams
- StateGetActor
- StateGetAllocation
- StateGetAllocationForPendingDeal
- StateGetAllocations
- StateGetBeaconEntry
- StateGetClaim
- StateGetClaims
- StateGetNetworkParams
- StateGetRandomnessDigestFromBeacon
- StateGetRandomnessDigestFromTickets
- StateGetRandomnessFromBeacon
- StateGetRandomnessFromTickets
- StateListActors
- StateListMessages
- StateListMiners
- StateLookupID
- StateLookupRobustAddress
- StateMarketBalance
- StateMarketDeals
- StateMarketParticipants
- StateMarketStorageDeal
- StateMinerActiveSectors
- StateMinerAllocated
- StateMinerAvailableBalance
- StateMinerDeadlines
- StateMinerFaults
- StateMinerInfo
- StateMinerInitialPledgeCollateral
- StateMinerPartitions
- StateMinerPower
- StateMinerPreCommitDepositForPower
- StateMinerProvingDeadline
- StateMinerRecoveries
- StateMinerSectorAllocated
- StateMinerSectorCount
- StateMinerSectors
- StateNetworkName
- StateNetworkVersion
- StateReadState
- StateReplay
- StateSearchMsg
- StateSectorExpiration
- StateSectorGetInfo
- StateSectorPartition
- StateSectorPreCommitInfo
- StateVMCirculatingSupplyInternal
- StateVerifiedClientStatus
- StateVerifiedRegistryRootKey
- StateVerifierStatus
- StateWaitMsg
- Sync
- Wallet
- Web3
Other information and links
Hi @lemmih, would like to contribute, I saw some are implemented, any hint on which ones left we could try first?
Hi @lemmih, would like to contribute, I saw some are implemented, any hint on which ones left we could try first?
Hi @qiweiii. You could start with WalletValidateAddress. It is a fairly simple RPC method, and you'll learn how to work with the Forest code base. Steps:
- Install Forest and Lotus (with calibnet support,
make calibnet). - Download a Calibnet snapshot:
forest-tool snapshot fetch --chain calibnet - Run a Forest node:
forest --no-gc --encrypt-keystore false --import-snapshot {snapshot.car.zst} - Run a Lotus node:
lotus --import-snapshot {snapshot.car.zst} - Run the API compatibility checker:
forest-tool api compare - Write a test for
WalletValidateAddressinsrc/tool/subcommands/api_cmd.rs. - Implement the RPC method in Forest. Use
WalletVerifyas an example.
@lemmih Any other recommended ones I could implement?
@lemmih Any other recommended ones I could implement?
It would be great if you could tackle StateListMessages.