pull/263/head
Taylor Gerring 10 years ago
parent 32bed50ba1
commit b2112729fa
  1. 21
      rpc/message.go
  2. 34
      rpc/packages.go

@ -4,8 +4,6 @@ import (
"bytes"
"encoding/json"
"errors"
// "github.com/ethereum/go-ethereum/ethutil"
)
const (
@ -16,30 +14,11 @@ const (
ErrorDecodeArgs = "Error: Could not decode arguments"
)
// type JsonResponse interface {
// }
type ErrorResponse struct {
Error bool `json:"error"`
ErrorText string `json:"errorText"`
}
// type SuccessRes struct {
// Error bool `json:"error"`
// Result JsonResponse `json:"result"`
// }
// type Message struct {
// Call string `json:"call"`
// Args []interface{} `json:"args"`
// Id int `json:"_id"`
// Data interface{} `json:"data"`
// }
// func (self *Message) Arguments() *ethutil.Value {
// return ethutil.NewValue(self.Args)
// }
type RpcSuccessResponse struct {
ID int `json:"id"`
JsonRpc string `json:"jsonrpc"`

@ -1,12 +1,19 @@
/*
For each request type, define the following:
1. RpcRequest "To" method [message.go], which does basic validation and conversion to "Args" type via json.Decoder()
2. json.Decoder() calls "UnmarshalJSON" defined on each "Args" struct
3. EthereumApi "Get" method, taking the "Args" type and replying with an interface to be marshalled to JSON
*/
package rpc
import (
// "bytes"
"encoding/json"
"math/big"
"strings"
// "errors"
"github.com/ethereum/go-ethereum/ethutil"
"github.com/ethereum/go-ethereum/xeth"
)
@ -21,12 +28,9 @@ func (p *EthereumApi) GetBlock(args *GetBlockArgs, reply *interface{}) error {
return err
}
// var block xeth.JSBlock
if args.BlockNumber > 0 {
// block := p.pipe.BlockByNumber(int32(args.BlockNumber))
*reply = p.pipe.BlockByNumber(args.BlockNumber)
} else {
// block := p.pipe.BlockByHash(args.Hash)
*reply = p.pipe.BlockByHash(args.Hash)
}
return nil
@ -97,13 +101,11 @@ func (p *EthereumApi) GetPeerCount(reply *interface{}) error {
func (p *EthereumApi) GetIsListening(reply *interface{}) error {
*reply = p.pipe.IsListening()
// *reply = NewSuccessRes(GetListeningRes{IsListening: p.pipe.IsListening()})
return nil
}
func (p *EthereumApi) GetCoinbase(reply *interface{}) error {
*reply = p.pipe.CoinBase()
// *reply = p.pipe.CoinBase()
return nil
}
@ -131,14 +133,6 @@ func (p *EthereumApi) GetBalanceAt(args *GetBalanceArgs, reply *interface{}) err
return nil
}
// type JsonArgs interface {
// requirements() error
// }
// type BlockResponse struct {
// JsonResponse
// }
type GetBlockArgs struct {
BlockNumber int32
Hash string
@ -306,13 +300,3 @@ type BalanceRes struct {
Balance string `json:"balance"`
Address string `json:"address"`
}
// type TestRes struct {
// JsonResponse `json:"-"`
// Answer int `json:"answer"`
// }
// func (p *EthereumApi) Test(args *GetBlockArgs, reply *interface{}) error {
// *reply = NewSuccessRes(TestRes{Answer: 15})
// return nil
// }

Loading…
Cancel
Save