added console command

This commit is contained in:
Bas van Kervel
2015-06-08 12:43:58 +02:00
committed by Bas van Kervel
parent bbfa0a3dcb
commit 1b59f89095
5 changed files with 64 additions and 26 deletions

View File

@ -27,11 +27,6 @@ var (
}, ",")
)
const (
// List with all API's which are offered over the IPC interface by default
DefaultIpcApis = "eth"
)
// Ethereum RPC API interface
type EthereumApi interface {
// API identifier

View File

@ -1,21 +1,27 @@
package api
import "github.com/ethereum/go-ethereum/rpc/shared"
import (
"github.com/ethereum/go-ethereum/rpc/shared"
)
const (
MergedApiVersion = "1.0"
)
// combines multiple API's
type MergedApi struct {
apis []string
apis map[string]string
methods map[string]EthereumApi
}
// create new merged api instance
func newMergedApi(apis ...EthereumApi) *MergedApi {
mergedApi := new(MergedApi)
mergedApi.apis = make([]string, len(apis))
mergedApi.apis = make(map[string]string, len(apis))
mergedApi.methods = make(map[string]EthereumApi)
for i, api := range apis {
mergedApi.apis[i] = api.Name()
for _, api := range apis {
mergedApi.apis[api.Name()] = api.ApiVersion()
for _, method := range api.Methods() {
mergedApi.methods[method] = api
}
@ -47,8 +53,12 @@ func (self *MergedApi) Name() string {
return MergedApiName
}
func (self *MergedApi) ApiVersion() string {
return MergedApiVersion
}
func (self *MergedApi) handle(req *shared.Request) (interface{}, error) {
if req.Method == "support_apis" { // provided API's
if req.Method == "modules" { // provided API's
return self.apis, nil
}

View File

@ -9,7 +9,7 @@ import (
)
const (
Web3Version = "1.0.0"
Web3ApiVersion = "1.0"
)
var (
@ -63,9 +63,8 @@ func (self *web3Api) Name() string {
return Web3ApiName
}
// Version of the API this instance provides
func (self *web3Api) Version() string {
return Web3Version
func (self *web3Api) ApiVersion() string {
return Web3ApiVersion
}
// Calculates the sha3 over req.Params.Data