2018-09-28 01:15:59 -07:00
|
|
|
package controls
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/ethereum/go-ethereum/eth"
|
|
|
|
"github.com/ethereum/go-ethereum/ethclient"
|
|
|
|
"github.com/ethereum/go-ethereum/node"
|
|
|
|
)
|
2018-10-31 22:45:16 -07:00
|
|
|
|
2018-09-28 01:15:59 -07:00
|
|
|
// Create an RPC client for the contract interface
|
2018-10-31 22:45:16 -07:00
|
|
|
func CreateEthClient(stack *node.Node) (*ethclient.Client, *eth.Ethereum, error) {
|
2018-09-28 01:15:59 -07:00
|
|
|
var e *eth.Ethereum
|
|
|
|
if err := stack.Service(&e); err != nil {
|
2018-10-24 03:21:21 -07:00
|
|
|
return nil, nil, err
|
2018-09-28 01:15:59 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
rpcClient, err := stack.Attach()
|
|
|
|
if err != nil {
|
2018-10-31 22:45:16 -07:00
|
|
|
return nil, nil, err
|
2018-09-28 01:15:59 -07:00
|
|
|
}
|
2018-10-24 03:21:21 -07:00
|
|
|
return ethclient.NewClient(rpcClient), e, nil
|
2018-09-28 01:15:59 -07:00
|
|
|
}
|