// InitRPCClient is used to create rpc client for btcd and btcwallet // and it can be used to test connecting to btcd / btcwallet servers // running in different machine. func (a *Anchor) InitRPCClient() error { anchorLog.Debug("init RPC client") if a.cfg == nil { a.readConfig() } certHomePath := a.cfg.Btc.CertHomePath rpcClientHost := a.cfg.Btc.RpcClientHost rpcClientEndpoint := a.cfg.Btc.RpcClientEndpoint rpcClientUser := a.cfg.Btc.RpcClientUser rpcClientPass := a.cfg.Btc.RpcClientPass certHomePathBtcd := a.cfg.Btc.CertHomePathBtcd rpcBtcdHost := a.cfg.Btc.RpcBtcdHost // Connect to local btcwallet RPC server using websockets. ntfnHandlers := a.createBtcwalletNotificationHandlers() certHomeDir := btcutil.AppDataDir(certHomePath, false) anchorLog.Debug("btcwallet.cert.home=", certHomeDir) certs, err := ioutil.ReadFile(filepath.Join(certHomeDir, "rpc.cert")) if err != nil { return fmt.Errorf("cannot read rpc.cert file: %s\n", err) } connCfg := &btcrpcclient.ConnConfig{ Host: rpcClientHost, Endpoint: rpcClientEndpoint, User: rpcClientUser, Pass: rpcClientPass, Certificates: certs, } a.wclient, err = btcrpcclient.New(connCfg, &ntfnHandlers) if err != nil { return fmt.Errorf("cannot create rpc client for btcwallet: %s\n", err) } anchorLog.Debug("successfully created rpc client for btcwallet") // Connect to local btcd RPC server using websockets. dntfnHandlers := a.createBtcdNotificationHandlers() certHomeDir = btcutil.AppDataDir(certHomePathBtcd, false) anchorLog.Debug("btcd.cert.home=", certHomeDir) certs, err = ioutil.ReadFile(filepath.Join(certHomeDir, "rpc.cert")) if err != nil { return fmt.Errorf("cannot read rpc.cert file for btcd rpc server: %s\n", err) } dconnCfg := &btcrpcclient.ConnConfig{ Host: rpcBtcdHost, Endpoint: rpcClientEndpoint, User: rpcClientUser, Pass: rpcClientPass, Certificates: certs, } a.dclient, err = btcrpcclient.New(dconnCfg, &dntfnHandlers) if err != nil { return fmt.Errorf("cannot create rpc client for btcd: %s\n", err) } anchorLog.Debug("successfully created rpc client for btcd") return nil }
// InitRPCClient is used to create rpc client for btcd and btcwallet // and it can be used to test connecting to btcd / btcwallet servers // running in different machine. func InitRPCClient() error { //anchorLog.Debug("init RPC client") cfg = util.ReadConfig() //certHomePath := cfg.Btc.CertHomePath //rpcClientHost := cfg.Btc.RpcClientHost rpcClientEndpoint := cfg.Btc.RpcClientEndpoint rpcClientUser := cfg.Btc.RpcClientUser rpcClientPass := cfg.Btc.RpcClientPass certHomePathBtcd := cfg.Btc.CertHomePathBtcd rpcBtcdHost := cfg.Btc.RpcBtcdHost //confirmationsNeeded = cfg.Anchor.ConfirmationsNeeded var err error // Connect to local btcd RPC server using websockets. dntfnHandlers := createBtcdNotificationHandlers() certHomeDir := btcutil.AppDataDir(certHomePathBtcd, false) fmt.Println("btcd.cert.home=", certHomeDir) certs, err := ioutil.ReadFile(filepath.Join(certHomeDir, "rpc.cert")) if err != nil { return fmt.Errorf("cannot read rpc.cert file for btcd rpc server: %s\n", err) } dconnCfg := &btcrpcclient.ConnConfig{ Host: rpcBtcdHost, Endpoint: rpcClientEndpoint, User: rpcClientUser, Pass: rpcClientPass, Certificates: certs, } dclient, err = btcrpcclient.New(dconnCfg, &dntfnHandlers) if err != nil { return fmt.Errorf("cannot create rpc client for btcd: %s\n", err) } fmt.Println("successfully created rpc client for btcd") return nil }
// InitRPCClient is used to create rpc client for btcd and btcwallet // and it can be used to test connecting to btcd / btcwallet servers // running in different machine. func InitRPCClient() error { anchorLog.Debug("init RPC client") cfg = util.ReadConfig() certHomePath := cfg.Btc.CertHomePath rpcClientHost := cfg.Btc.RpcClientHost rpcClientEndpoint := cfg.Btc.RpcClientEndpoint rpcClientUser := cfg.Btc.RpcClientUser rpcClientPass := cfg.Btc.RpcClientPass certHomePathBtcd := cfg.Btc.CertHomePathBtcd rpcBtcdHost := cfg.Btc.RpcBtcdHost confirmationsNeeded = cfg.Anchor.ConfirmationsNeeded //Added anchor parameters var err error serverECKey, err = common.NewPrivateKeyFromHex(cfg.Anchor.ServerECKey) if err != nil { panic("Cannot parse Server EC Key from configuration file: " + err.Error()) } anchorChainID, err = common.HexToHash(cfg.Anchor.AnchorChainID) anchorLog.Debug("anchorChainID: ", anchorChainID) if err != nil || anchorChainID == nil { panic("Cannot parse Server AnchorChainID from configuration file: " + err.Error()) } // Connect to local btcwallet RPC server using websockets. ntfnHandlers := createBtcwalletNotificationHandlers() certHomeDir := btcutil.AppDataDir(certHomePath, false) anchorLog.Debug("btcwallet.cert.home=", certHomeDir) certs, err := ioutil.ReadFile(filepath.Join(certHomeDir, "rpc.cert")) if err != nil { return fmt.Errorf("cannot read rpc.cert file: %s\n", err) } connCfg := &btcrpcclient.ConnConfig{ Host: rpcClientHost, Endpoint: rpcClientEndpoint, User: rpcClientUser, Pass: rpcClientPass, Certificates: certs, } wclient, err = btcrpcclient.New(connCfg, &ntfnHandlers) if err != nil { return fmt.Errorf("cannot create rpc client for btcwallet: %s\n", err) } anchorLog.Debug("successfully created rpc client for btcwallet") // Connect to local btcd RPC server using websockets. dntfnHandlers := createBtcdNotificationHandlers() certHomeDir = btcutil.AppDataDir(certHomePathBtcd, false) anchorLog.Debug("btcd.cert.home=", certHomeDir) certs, err = ioutil.ReadFile(filepath.Join(certHomeDir, "rpc.cert")) if err != nil { return fmt.Errorf("cannot read rpc.cert file for btcd rpc server: %s\n", err) } dconnCfg := &btcrpcclient.ConnConfig{ Host: rpcBtcdHost, Endpoint: rpcClientEndpoint, User: rpcClientUser, Pass: rpcClientPass, Certificates: certs, } dclient, err = btcrpcclient.New(dconnCfg, &dntfnHandlers) if err != nil { return fmt.Errorf("cannot create rpc client for btcd: %s\n", err) } anchorLog.Debug("successfully created rpc client for btcd") return nil }