diff options
author | obscuren <geffobscura@gmail.com> | 2015-06-16 01:28:48 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-06-16 01:28:48 +0800 |
commit | 5daf8729be88eca87b302ebf7a46fc69cad0f6d0 (patch) | |
tree | 0053cb5b84978645b3c83895a651c512e081a183 /rpc/api/api.go | |
parent | bac9a94ddf20dc530966cbf6cd384aaf94aedc77 (diff) | |
parent | 4673b04503742de9b1622557b44135d6a4934ad6 (diff) | |
download | go-tangerine-5daf8729be88eca87b302ebf7a46fc69cad0f6d0.tar go-tangerine-5daf8729be88eca87b302ebf7a46fc69cad0f6d0.tar.gz go-tangerine-5daf8729be88eca87b302ebf7a46fc69cad0f6d0.tar.bz2 go-tangerine-5daf8729be88eca87b302ebf7a46fc69cad0f6d0.tar.lz go-tangerine-5daf8729be88eca87b302ebf7a46fc69cad0f6d0.tar.xz go-tangerine-5daf8729be88eca87b302ebf7a46fc69cad0f6d0.tar.zst go-tangerine-5daf8729be88eca87b302ebf7a46fc69cad0f6d0.zip |
Merge branch 'release/0.9.30'v0.9.30
Diffstat (limited to 'rpc/api/api.go')
-rw-r--r-- | rpc/api/api.go | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/rpc/api/api.go b/rpc/api/api.go new file mode 100644 index 000000000..e431e5c1e --- /dev/null +++ b/rpc/api/api.go @@ -0,0 +1,48 @@ +package api + +import ( + "strings" + + "github.com/ethereum/go-ethereum/rpc/shared" +) + +const ( + AdminApiName = "admin" + EthApiName = "eth" + DebugApiName = "debug" + MergedApiName = "merged" + MinerApiName = "miner" + NetApiName = "net" + ShhApiName = "shh" + TxPoolApiName = "txpool" + PersonalApiName = "personal" + Web3ApiName = "web3" +) + +var ( + // List with all API's which are offered over the IPC interface by default + DefaultIpcApis = strings.Join([]string{ + AdminApiName, EthApiName, DebugApiName, MinerApiName, NetApiName, + ShhApiName, TxPoolApiName, PersonalApiName, Web3ApiName, + }, ",") +) + +// Ethereum RPC API interface +type EthereumApi interface { + // API identifier + Name() string + + // API version + ApiVersion() string + + // Execute the given request and returns the response or an error + Execute(*shared.Request) (interface{}, error) + + // List of supported RCP methods this API provides + Methods() []string +} + +// Merge multiple API's to a single API instance +func Merge(apis ...EthereumApi) EthereumApi { + return newMergedApi(apis...) +} |