Я использую BTCD и использую их клиент: "github.com/btcsuite/btcd/rpcclient"
Я подключаюсь к BTCWallet, который правильно подключен.Я могу вызвать все команды, но при настройке NotificationHandlers.RPC-клиент не получает никаких уведомлений, кроме OnClientConnected.Я тоже пробую:
ntfnHandlers := rpcclient.NotificationHandlers{
OnClientConnected: func() {
logs.Error("OK")
},
OnFilteredBlockConnected: func(height int32, header *wire.BlockHeader,
txs []*btcutil.Tx) {
logs.Debug("Block connected: %v (%d) %v", height, header, txs)
},
OnFilteredBlockDisconnected: func(height int32, header *wire.BlockHeader) {
logs.Debug("Block disconnected: (%d) %v", height, header)
},
OnRelevantTxAccepted: func(transaction []byte) {
logs.Debug("OnRecvTx: (%v)", transaction)
},
OnTxAccepted: func(hash *chainhash.Hash, amount btcutil.Amount) {
logs.Debug("OnTxAccepted: ", amount)
},
OnWalletLockState: func(locked bool) {
logs.Debug("OnWalletLockState: ", locked)
},
OnUnknownNotification: func(method string, params []json.RawMessage) {
logs.Debug("OnUnknownNotification: %v", method)
},
OnTxAcceptedVerbose: func(txDetails *btcjson.TxRawResult) {
logs.Debug("OnTxAcceptedVerbose: %v", txDetails.BlockHash)
},
}
// Notice the notification parameter is nil since notifications are
// not supported in HTTP POST mode.
RPCclient, err := rpcclient.New(c.rpcConf, &ntfnHandlers)
if err != nil {
logs.Error("RunProcess(): RPCclient.New %s\n", err.Error())
return err
}
if err := RPCclient.NotifyBlocks(); err != nil {
log.Fatal(err)
return err
}
logs.Info("NotifyBlocks: Registration Complete")
if err := RPCclient.NotifyNewTransactions(true); err != nil {
log.Fatal(err)
return err
}
logs.Info("NotifyNewTransactions: Registration Complete")
blockCount, err := RPCclient.GetBlockCount()
if err != nil {
log.Fatal(err)
return err
}
c.Client.WaitForShutdown()
Это мой Конфиг:
connCfg := &rpcclient.ConnConfig{
Host: xxx,
User: xxx,
Pass: xxx,
Certificates: certificate,
Endpoint: "ws",
HTTPPostMode: false, // Bitcoin core only supports HTTP POST mode
DisableTLS: false, // Bitcoin core does not provide TLS by default
}
Сообщения сервера:
web_1 | 2019/03/20 03:30:42.029 [E] [infrastructure.go:1035] OK
web_1 | 2019/03/20 03:30:42.115 [I] [asm_amd64.s:1333] NotifyBlocks: Registration Complete
web_1 | 2019/03/20 03:30:42.202 [I] [asm_amd64.s:1333] NotifyNewTransactions: Registration Complete
web_1 | 2019/03/20 03:30:42.305 [I] [asm_amd64.s:1333] Block count: 1485308