Add Ravencoin support
parent
dcfb468d76
commit
78ffee5d3d
|
@ -25,6 +25,7 @@ import (
|
|||
"blockbook/bchain/coins/pivx"
|
||||
"blockbook/bchain/coins/polis"
|
||||
"blockbook/bchain/coins/qtum"
|
||||
"blockbook/bchain/coins/ravencoin"
|
||||
"blockbook/bchain/coins/vertcoin"
|
||||
"blockbook/bchain/coins/viacoin"
|
||||
"blockbook/bchain/coins/vipstarcoin"
|
||||
|
@ -90,6 +91,7 @@ func init() {
|
|||
BlockChainFactories["NULS"] = nuls.NewNulsRPC
|
||||
BlockChainFactories["VIPSTARCOIN"] = vipstarcoin.NewVIPSTARCOINRPC
|
||||
BlockChainFactories["ZelCash"] = zec.NewZCashRPC
|
||||
BlockChainFactories["Ravencoin"] = ravencoin.NewRavencoinRPC
|
||||
}
|
||||
|
||||
// GetCoinNameFromConfig gets coin name and coin shortcut from config file
|
||||
|
|
|
@ -0,0 +1,91 @@
|
|||
package ravencoin
|
||||
|
||||
import (
|
||||
"blockbook/bchain"
|
||||
"blockbook/bchain/coins/btc"
|
||||
"blockbook/bchain/coins/utils"
|
||||
"bytes"
|
||||
|
||||
"github.com/martinboehm/btcd/wire"
|
||||
"github.com/martinboehm/btcutil/chaincfg"
|
||||
)
|
||||
|
||||
const (
|
||||
MainnetMagic wire.BitcoinNet = 0x4e564152
|
||||
TestnetMagic wire.BitcoinNet = 0x544e5652
|
||||
)
|
||||
|
||||
var (
|
||||
MainNetParams chaincfg.Params
|
||||
TestNetParams chaincfg.Params
|
||||
)
|
||||
|
||||
func init() {
|
||||
MainNetParams = chaincfg.MainNetParams
|
||||
MainNetParams.Net = MainnetMagic
|
||||
MainNetParams.PubKeyHashAddrID = []byte{60}
|
||||
MainNetParams.ScriptHashAddrID = []byte{122}
|
||||
|
||||
TestNetParams = chaincfg.TestNet3Params
|
||||
TestNetParams.Net = TestnetMagic
|
||||
TestNetParams.PubKeyHashAddrID = []byte{111}
|
||||
TestNetParams.ScriptHashAddrID = []byte{196}
|
||||
}
|
||||
|
||||
// RavencoinParser handle
|
||||
type RavencoinParser struct {
|
||||
*btc.BitcoinParser
|
||||
}
|
||||
|
||||
// NewRavencoinParser returns new RavencoinParser instance
|
||||
func NewRavencoinParser(params *chaincfg.Params, c *btc.Configuration) *RavencoinParser {
|
||||
return &RavencoinParser{BitcoinParser: btc.NewBitcoinParser(params, c)}
|
||||
}
|
||||
|
||||
// GetChainParams contains network parameters
|
||||
func GetChainParams(chain string) *chaincfg.Params {
|
||||
if !chaincfg.IsRegistered(&MainNetParams) {
|
||||
err := chaincfg.Register(&MainNetParams)
|
||||
if err == nil {
|
||||
err = chaincfg.Register(&TestNetParams)
|
||||
}
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
switch chain {
|
||||
case "test":
|
||||
return &TestNetParams
|
||||
default:
|
||||
return &MainNetParams
|
||||
}
|
||||
}
|
||||
|
||||
// ParseBlock parses raw block to our Block struct
|
||||
func (p *RavencoinParser) ParseBlock(b []byte) (*bchain.Block, error) {
|
||||
r := bytes.NewReader(b)
|
||||
w := wire.MsgBlock{}
|
||||
h := wire.BlockHeader{}
|
||||
err := h.Deserialize(r)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err = utils.DecodeTransactions(r, 0, wire.WitnessEncoding, &w)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
txs := make([]bchain.Tx, len(w.Transactions))
|
||||
for ti, t := range w.Transactions {
|
||||
txs[ti] = p.TxFromMsgTx(t, false)
|
||||
}
|
||||
|
||||
return &bchain.Block{
|
||||
BlockHeader: bchain.BlockHeader{
|
||||
Size: len(b),
|
||||
Time: h.Timestamp.Unix(),
|
||||
},
|
||||
Txs: txs,
|
||||
}, nil
|
||||
}
|
|
@ -0,0 +1,273 @@
|
|||
// +build unittest
|
||||
|
||||
package ravencoin
|
||||
|
||||
import (
|
||||
"blockbook/bchain"
|
||||
"blockbook/bchain/coins/btc"
|
||||
"encoding/hex"
|
||||
"math/big"
|
||||
"os"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/martinboehm/btcutil/chaincfg"
|
||||
)
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
c := m.Run()
|
||||
chaincfg.ResetParams()
|
||||
os.Exit(c)
|
||||
}
|
||||
|
||||
func Test_GetAddrDescFromAddress_Mainnet(t *testing.T) {
|
||||
type args struct {
|
||||
address string
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
want string
|
||||
wantErr bool
|
||||
}{
|
||||
{
|
||||
name: "P2PKH1",
|
||||
args: args{address: "RAoGkGhKwzxLnstApumYPD2eTrAJ849cga"},
|
||||
want: "76a91410a8805f1a6af1a5927088544b0b6ec7d6f0ab8b88ac",
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "P2PKH2",
|
||||
args: args{address: "RTq37kPJqMS36tZYunxo2abrBMLeYSCAaa"},
|
||||
want: "76a914cb78181d62d312fdb9aacca433570150dcf0dec288ac",
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "P2SH1",
|
||||
args: args{address: "rCzjkBoY2duVn2WizKxfBedTVWAg6UhfLZ"},
|
||||
want: "a9144a2a40987c74578ee517d426aa2c43fc568f7e0887",
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "P2SH2",
|
||||
args: args{address: "rDzGemZkv9FbDDh5pvWfr7TWtMUnNRRE7T"},
|
||||
want: "a914550bc2fcc1992afade4d298326ee6a03ab975a9387",
|
||||
wantErr: false,
|
||||
},
|
||||
}
|
||||
parser := NewRavencoinParser(GetChainParams("main"), &btc.Configuration{})
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
got, err := parser.GetAddrDescFromAddress(tt.args.address)
|
||||
if (err != nil) != tt.wantErr {
|
||||
t.Errorf("GetAddrDescFromAddress() error = %v, wantErr %v", err, tt.wantErr)
|
||||
return
|
||||
}
|
||||
h := hex.EncodeToString(got)
|
||||
if !reflect.DeepEqual(h, tt.want) {
|
||||
t.Errorf("GetAddrDescFromAddress() = %v, want %v", h, tt.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
var (
|
||||
testTx1 bchain.Tx
|
||||
testTxPacked1 = "000a08848bcae7c30e0200000001c171348ffc8976074fa064e48598a816fce3798afc635fb67d99580e50b8e614000000006a473044022009e07574fa543ad259bd3334eb365c655c96d310c578b64c24d7f77fa7dc591c0220427d8ae6eacd1ca2d1994e9ec49cb322aacdde98e4bdb065e0fce81162fb3aa9012102d46827546548b9b47ae1e9e84fc4e53513e0987eeb1dd41220ba39f67d3bf46affffffff02f8137114000000001976a914587a2afa560ccaeaeb67cb72a0db7e2573a179e488ace0c48110000000001976a914d85e6ab66ab0b2c4cfd40ca3b0a779529da5799288ac00000000"
|
||||
|
||||
testTx2 bchain.Tx
|
||||
testTxPacked2 = "000a08848bcae7c30e02000000029e2e14113b2f55726eebaa440edec707fcec3a31ce28fa125afea1e755fb6850010000006a47304402204034c3862f221551cffb2aa809f621f989a75cdb549c789a5ceb3a82c0bcc21c022001b4638f5d73fdd406a4dd9bf99be3dfca4a572b8f40f09b8fd495a7756c0db70121027a32ef45aef2f720ccf585f6fb0b8a7653db89cacc3320e5b385146851aba705fefffffff3b240ae32c542786876fcf23b4b2ab4c34ef077912898ee529756ed4ba35910000000006a47304402204d442645597b13abb85e96e5acd34eff50a4418822fe6a37ed378cdd24574dff02205ae667c56eab63cc45a51063f15b72136fd76e97c46af29bd28e8c4d405aa211012102cde27d7b29331ea3fef909a8d91f6f7753e99a3dd129914be50df26eed73fab3feffffff028447bf38000000001976a9146d7badec5426b880df25a3afc50e476c2423b34b88acb26b556a740000001976a914b3020d0ab85710151fa509d5d9a4e783903d681888ac83080a00"
|
||||
)
|
||||
|
||||
func init() {
|
||||
testTx1 = bchain.Tx{
|
||||
Hex: "0200000001c171348ffc8976074fa064e48598a816fce3798afc635fb67d99580e50b8e614000000006a473044022009e07574fa543ad259bd3334eb365c655c96d310c578b64c24d7f77fa7dc591c0220427d8ae6eacd1ca2d1994e9ec49cb322aacdde98e4bdb065e0fce81162fb3aa9012102d46827546548b9b47ae1e9e84fc4e53513e0987eeb1dd41220ba39f67d3bf46affffffff02f8137114000000001976a914587a2afa560ccaeaeb67cb72a0db7e2573a179e488ace0c48110000000001976a914d85e6ab66ab0b2c4cfd40ca3b0a779529da5799288ac00000000",
|
||||
Blocktime: 1554837703,
|
||||
Txid: "d4d3a093586eae0c3668fd288d9e24955928a894c20b551b38dd18c99b123a7c",
|
||||
LockTime: 0,
|
||||
Version: 2,
|
||||
Vin: []bchain.Vin{
|
||||
{
|
||||
ScriptSig: bchain.ScriptSig{
|
||||
Hex: "473044022009e07574fa543ad259bd3334eb365c655c96d310c578b64c24d7f77fa7dc591c0220427d8ae6eacd1ca2d1994e9ec49cb322aacdde98e4bdb065e0fce81162fb3aa9012102d46827546548b9b47ae1e9e84fc4e53513e0987eeb1dd41220ba39f67d3bf46a",
|
||||
},
|
||||
Txid: "14e6b8500e58997db65f63fc8a79e3fc16a89885e464a04f077689fc8f3471c1",
|
||||
Vout: 0,
|
||||
Sequence: 4294967295,
|
||||
},
|
||||
},
|
||||
Vout: []bchain.Vout{
|
||||
{
|
||||
ValueSat: *big.NewInt(342955000),
|
||||
N: 0,
|
||||
ScriptPubKey: bchain.ScriptPubKey{
|
||||
Hex: "76a914587a2afa560ccaeaeb67cb72a0db7e2573a179e488ac",
|
||||
Addresses: []string{
|
||||
"RHM1tmdvkk7vDoiGxwUJAMNNmDqywZ5tEn",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ValueSat: *big.NewInt(276940000),
|
||||
N: 1,
|
||||
ScriptPubKey: bchain.ScriptPubKey{
|
||||
Hex: "76a914d85e6ab66ab0b2c4cfd40ca3b0a779529da5799288ac",
|
||||
Addresses: []string{
|
||||
"RV1F99b9UBBrCM8aNKugsqsDM8iqoCq7Mt",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
testTx2 = bchain.Tx{
|
||||
Hex: "02000000029e2e14113b2f55726eebaa440edec707fcec3a31ce28fa125afea1e755fb6850010000006a47304402204034c3862f221551cffb2aa809f621f989a75cdb549c789a5ceb3a82c0bcc21c022001b4638f5d73fdd406a4dd9bf99be3dfca4a572b8f40f09b8fd495a7756c0db70121027a32ef45aef2f720ccf585f6fb0b8a7653db89cacc3320e5b385146851aba705fefffffff3b240ae32c542786876fcf23b4b2ab4c34ef077912898ee529756ed4ba35910000000006a47304402204d442645597b13abb85e96e5acd34eff50a4418822fe6a37ed378cdd24574dff02205ae667c56eab63cc45a51063f15b72136fd76e97c46af29bd28e8c4d405aa211012102cde27d7b29331ea3fef909a8d91f6f7753e99a3dd129914be50df26eed73fab3feffffff028447bf38000000001976a9146d7badec5426b880df25a3afc50e476c2423b34b88acb26b556a740000001976a914b3020d0ab85710151fa509d5d9a4e783903d681888ac83080a00",
|
||||
Blocktime: 1554837703,
|
||||
Txid: "8e480d5c1bf7f11d1cbe396ab7dc14e01ea4e1aff45de7c055924f61304ad434",
|
||||
LockTime: 657539,
|
||||
Version: 2,
|
||||
Vin: []bchain.Vin{
|
||||
{
|
||||
ScriptSig: bchain.ScriptSig{
|
||||
Hex: "47304402204034c3862f221551cffb2aa809f621f989a75cdb549c789a5ceb3a82c0bcc21c022001b4638f5d73fdd406a4dd9bf99be3dfca4a572b8f40f09b8fd495a7756c0db70121027a32ef45aef2f720ccf585f6fb0b8a7653db89cacc3320e5b385146851aba705",
|
||||
},
|
||||
Txid: "5068fb55e7a1fe5a12fa28ce313aecfc07c7de0e44aaeb6e72552f3b11142e9e",
|
||||
Vout: 1,
|
||||
Sequence: 4294967294,
|
||||
},
|
||||
{
|
||||
ScriptSig: bchain.ScriptSig{
|
||||
Hex: "47304402204d442645597b13abb85e96e5acd34eff50a4418822fe6a37ed378cdd24574dff02205ae667c56eab63cc45a51063f15b72136fd76e97c46af29bd28e8c4d405aa211012102cde27d7b29331ea3fef909a8d91f6f7753e99a3dd129914be50df26eed73fab3",
|
||||
},
|
||||
Txid: "1059a34bed569752ee98289177f04ec3b42a4b3bf2fc76687842c532ae40b2f3",
|
||||
Vout: 0,
|
||||
Sequence: 4294967294,
|
||||
},
|
||||
},
|
||||
Vout: []bchain.Vout{
|
||||
{
|
||||
ValueSat: *big.NewInt(952059780),
|
||||
N: 0,
|
||||
ScriptPubKey: bchain.ScriptPubKey{
|
||||
Hex: "76a9146d7badec5426b880df25a3afc50e476c2423b34b88ac",
|
||||
Addresses: []string{
|
||||
"RKG5tpWwjhtqddTgA3QhUh7QmKcuvBnhBX",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ValueSat: *big.NewInt(500000189362),
|
||||
N: 1,
|
||||
ScriptPubKey: bchain.ScriptPubKey{
|
||||
Hex: "76a914b3020d0ab85710151fa509d5d9a4e783903d681888ac",
|
||||
Addresses: []string{
|
||||
"RRbhVMbLfuezHPwUMujTmDFAzv64Y9mJqd",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func Test_PackTx(t *testing.T) {
|
||||
type args struct {
|
||||
tx bchain.Tx
|
||||
height uint32
|
||||
blockTime int64
|
||||
parser *RavencoinParser
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
want string
|
||||
wantErr bool
|
||||
}{
|
||||
{
|
||||
name: "ravencoin-1",
|
||||
args: args{
|
||||
tx: testTx1,
|
||||
height: 657540,
|
||||
blockTime: 1554837703,
|
||||
parser: NewRavencoinParser(GetChainParams("main"), &btc.Configuration{}),
|
||||
},
|
||||
want: testTxPacked1,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "ravencoin-2",
|
||||
args: args{
|
||||
tx: testTx2,
|
||||
height: 657540,
|
||||
blockTime: 1554837703,
|
||||
parser: NewRavencoinParser(GetChainParams("main"), &btc.Configuration{}),
|
||||
},
|
||||
want: testTxPacked2,
|
||||
wantErr: false,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
got, err := tt.args.parser.PackTx(&tt.args.tx, tt.args.height, tt.args.blockTime)
|
||||
if (err != nil) != tt.wantErr {
|
||||
t.Errorf("packTx() error = %v, wantErr %v", err, tt.wantErr)
|
||||
return
|
||||
}
|
||||
h := hex.EncodeToString(got)
|
||||
if !reflect.DeepEqual(h, tt.want) {
|
||||
t.Errorf("packTx() = %v, want %v", h, tt.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func Test_UnpackTx(t *testing.T) {
|
||||
type args struct {
|
||||
packedTx string
|
||||
parser *RavencoinParser
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
want *bchain.Tx
|
||||
want1 uint32
|
||||
wantErr bool
|
||||
}{
|
||||
{
|
||||
name: "ravencoin-1",
|
||||
args: args{
|
||||
packedTx: testTxPacked1,
|
||||
parser: NewRavencoinParser(GetChainParams("main"), &btc.Configuration{}),
|
||||
},
|
||||
want: &testTx1,
|
||||
want1: 657540,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "ravencoin-2",
|
||||
args: args{
|
||||
packedTx: testTxPacked2,
|
||||
parser: NewRavencoinParser(GetChainParams("main"), &btc.Configuration{}),
|
||||
},
|
||||
want: &testTx2,
|
||||
want1: 657540,
|
||||
wantErr: false,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
b, _ := hex.DecodeString(tt.args.packedTx)
|
||||
got, got1, err := tt.args.parser.UnpackTx(b)
|
||||
if (err != nil) != tt.wantErr {
|
||||
t.Errorf("unpackTx() error = %v, wantErr %v", err, tt.wantErr)
|
||||
return
|
||||
}
|
||||
if !reflect.DeepEqual(got, tt.want) {
|
||||
t.Errorf("unpackTx() got = %v, want %v", got, tt.want)
|
||||
}
|
||||
if got1 != tt.want1 {
|
||||
t.Errorf("unpackTx() got1 = %v, want %v", got1, tt.want1)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
package ravencoin
|
||||
|
||||
import (
|
||||
"blockbook/bchain"
|
||||
"blockbook/bchain/coins/btc"
|
||||
"encoding/json"
|
||||
|
||||
"github.com/golang/glog"
|
||||
)
|
||||
|
||||
// RavencoinRPC is an interface to JSON-RPC bitcoind service.
|
||||
type RavencoinRPC struct {
|
||||
*btc.BitcoinRPC
|
||||
}
|
||||
|
||||
// NewRavencoinRPC returns new RavencoinRPC instance.
|
||||
func NewRavencoinRPC(config json.RawMessage, pushHandler func(bchain.NotificationType)) (bchain.BlockChain, error) {
|
||||
b, err := btc.NewBitcoinRPC(config, pushHandler)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
s := &RavencoinRPC{
|
||||
b.(*btc.BitcoinRPC),
|
||||
}
|
||||
s.RPCMarshaler = btc.JSONMarshalerV1{}
|
||||
s.ChainConfig.SupportsEstimateFee = false
|
||||
|
||||
return s, nil
|
||||
}
|
||||
|
||||
// Initialize initializes RavencoinRPC instance.
|
||||
func (b *RavencoinRPC) Initialize() error {
|
||||
ci, err := b.GetChainInfo()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
chainName := ci.Chain
|
||||
|
||||
glog.Info("Chain name ", chainName)
|
||||
params := GetChainParams(chainName)
|
||||
|
||||
// always create parser
|
||||
b.Parser = NewRavencoinParser(params, b.ChainConfig)
|
||||
|
||||
// parameters for getInfo request
|
||||
if params.Net == MainnetMagic {
|
||||
b.Testnet = false
|
||||
b.Network = "livenet"
|
||||
} else {
|
||||
b.Testnet = true
|
||||
b.Network = "testnet"
|
||||
}
|
||||
|
||||
glog.Info("rpc: block chain ", params.Name)
|
||||
|
||||
return nil
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"coin": {
|
||||
"name": "Ravencoin",
|
||||
"shortcut": "RVN",
|
||||
"label": "Ravencoin",
|
||||
"alias": "ravencoin"
|
||||
},
|
||||
"ports": {
|
||||
"backend_rpc": 8059,
|
||||
"backend_message_queue": 38359,
|
||||
"blockbook_internal": 9059,
|
||||
"blockbook_public": 9159
|
||||
},
|
||||
"ipc": {
|
||||
"rpc_url_template": "http://127.0.0.1:{{.Ports.BackendRPC}}",
|
||||
"rpc_user": "rpc",
|
||||
"rpc_pass": "rpc",
|
||||
"rpc_timeout": 25,
|
||||
"message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}"
|
||||
},
|
||||
"backend": {
|
||||
"package_name": "backend-ravencoin",
|
||||
"package_revision": "satoshilabs-1",
|
||||
"system_user": "ravencoin",
|
||||
"version": "2.2.2.0",
|
||||
"binary_url": "https://github.com/RavenProject/Ravencoin/releases/download/v2.2.2/raven-2.2.2.0-x86_64-linux-gnu.tar.gz",
|
||||
"verification_type": "sha256",
|
||||
"verification_source": "f6e2c20e9741a9485a8b8b34044bd5b2cdd8c5d5871b04272ec96a4ebf6bcf2e",
|
||||
"extract_command": "tar -C backend --strip 1 -xf",
|
||||
"exclude_files": [
|
||||
"bin/raven-qt"
|
||||
],
|
||||
"exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/ravend -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid",
|
||||
"logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/*.log",
|
||||
"postinst_script_template": "",
|
||||
"service_type": "forking",
|
||||
"service_additional_params_template": "",
|
||||
"protect_memory": true,
|
||||
"mainnet": true,
|
||||
"server_config_file": "bitcoin_like.conf",
|
||||
"client_config_file": "bitcoin_like_client.conf",
|
||||
"additional_params": {
|
||||
"deprecatedrpc": "estimatefee"
|
||||
}
|
||||
},
|
||||
"blockbook": {
|
||||
"package_name": "blockbook-ravencoin",
|
||||
"system_user": "blockbook-ravencoin",
|
||||
"internal_binding_template": ":{{.Ports.BlockbookInternal}}",
|
||||
"public_binding_template": ":{{.Ports.BlockbookPublic}}",
|
||||
"explorer_url": "",
|
||||
"additional_params": "",
|
||||
"block_chain": {
|
||||
"parse": true,
|
||||
"mempool_workers": 8,
|
||||
"mempool_sub_workers": 2,
|
||||
"block_addresses_to_keep": 300,
|
||||
"xpub_magic": 76067358,
|
||||
"slip44": 175,
|
||||
"additional_params": {}
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"package_maintainer": "Scotty",
|
||||
"package_maintainer_email": "scotty.rvn@gmail.com"
|
||||
}
|
||||
}
|
|
@ -30,6 +30,7 @@
|
|||
| VIPSTARCOIN | 9056 | 9156 | 8056 | 38356 |
|
||||
| MonetaryUnit | 9057 | 9157 | 8057 | 38357 |
|
||||
| ZelCash | 9058 | 9158 | 8058 | 38358 |
|
||||
| Ravencoin | 9059 | 9159 | 8059 | 38359 |
|
||||
| Flo | 9066 | 9166 | 8066 | 38366 |
|
||||
| Polis | 9067 | 9167 | 8067 | 38367 |
|
||||
| Qtum | 9088 | 9188 | 8088 | 38388 |
|
||||
|
|
|
@ -0,0 +1,119 @@
|
|||
{
|
||||
"blockHeight": 707554,
|
||||
"blockHash": "000000000000429dbd10e090e00384199e85555d501cfa47720e5261c66942a6",
|
||||
"blockTime": 1557858845,
|
||||
"blockTxs": [
|
||||
"194a89653371595337c306e559d71a94a72f3395c8801189cb396ce6330636cd",
|
||||
"58ce37e86e5c17e3c08ef14c55d994aaf4c11003fd749aa597b141c89d22c582",
|
||||
"9d3e19d6f147c362410fa361b0cae9690e8de1c727e7a99bc145e7d95580a314",
|
||||
"739b0ef5a5d8314f84f61105b107b7534dc9748b288fcd06dc8087783ce26e20"
|
||||
],
|
||||
"txDetails": {
|
||||
"58ce37e86e5c17e3c08ef14c55d994aaf4c11003fd749aa597b141c89d22c582": {
|
||||
"hex": "02000000025496421e6a3627ec4a5eab571ff22b3a1a5aa7555d48b7013976eef18443a115000000006a473044022027e2ef2d5057e03864373e6a3bbf8206af18bd64c817a42979f784688a703c4d02203230b32182046d01a16ea765f85219fd3ba8b2d731eb4a0446d968da170da5a5012102f721c9e757b10fe342869b92ba76c4fbcc74d634fc9536b9c068fc033488d655feffffff886c20d01cc0647f0bff7fea3506d88fd7a49dcc17de2938846f6a52055d1f6e800000006b483045022100cf6c8d2452c5f146e317a77ccafdf6cb516c3050f9d6e71d0d834db8a02d1cc7022041823ee041589a1fcdb43d5ce121cb6470506f6726a4f667d6d20af894a034260121035e5dfde430f2d5f832c4df4a9a251293b0ba29995aee49a6908586de22cbc8c3feffffff0295117782570600001976a9147f7d88fa55fab938161953faf6bd3d026cd078dc88acf2420f00000000001976a914e8fd48114696f4e6ee5b3e5d532c408a19f691b788ac92cb0a00",
|
||||
"txid": "58ce37e86e5c17e3c08ef14c55d994aaf4c11003fd749aa597b141c89d22c582",
|
||||
"blocktime": 1557858845,
|
||||
"time": 1557858845,
|
||||
"locktime": 707474,
|
||||
"version": 2,
|
||||
"vin": [
|
||||
{
|
||||
"txid": "15a14384f1ee763901b7485d55a75a1a3a2bf21f57ab5e4aec27366a1e429654",
|
||||
"vout": 0,
|
||||
"sequence": 4294967294,
|
||||
"scriptSig": {
|
||||
"hex": "473044022027e2ef2d5057e03864373e6a3bbf8206af18bd64c817a42979f784688a703c4d02203230b32182046d01a16ea765f85219fd3ba8b2d731eb4a0446d968da170da5a5012102f721c9e757b10fe342869b92ba76c4fbcc74d634fc9536b9c068fc033488d655"
|
||||
}
|
||||
},
|
||||
{
|
||||
"txid": "6e1f5d05526a6f843829de17cc9da4d78fd80635ea7fff0b7f64c01cd0206c88",
|
||||
"vout": 128,
|
||||
"sequence": 4294967294,
|
||||
"scriptSig": {
|
||||
"hex": "483045022100cf6c8d2452c5f146e317a77ccafdf6cb516c3050f9d6e71d0d834db8a02d1cc7022041823ee041589a1fcdb43d5ce121cb6470506f6726a4f667d6d20af894a034260121035e5dfde430f2d5f832c4df4a9a251293b0ba29995aee49a6908586de22cbc8c3"
|
||||
}
|
||||
}
|
||||
],
|
||||
"vout": [
|
||||
{
|
||||
"value": 69729.20762773,
|
||||
"n": 0,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a9147f7d88fa55fab938161953faf6bd3d026cd078dc88ac",
|
||||
"addresses": [
|
||||
"RLuJHD2GRHzTbwc47Cg43oAJQZRMMVcU7S"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 0.01000178,
|
||||
"n": 1,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a914e8fd48114696f4e6ee5b3e5d532c408a19f691b788ac",
|
||||
"addresses": [
|
||||
"RWX8GL2MHTewUvEcJMwu1cSZEhrSitG9Nz"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"9d3e19d6f147c362410fa361b0cae9690e8de1c727e7a99bc145e7d95580a314": {
|
||||
"hex": "0200000004152c754032d6d014e21a10f68cd0d1f62b29ad3997bc637f434f513240a6393a370000006b483045022100f397fe990bc6871408a8178a4cac7afc27a989abd8dc32536d4b392e2d46d7d502205aafc72f6b76bfee3373da3786492c8d24107d1005751f25e6be4f8788d85a8e012103f8a3801f6e45a63821c41c8cd5baa1aca5760e2dac0edce67ea1721e3a63a35dfeffffff1d8cedc545c969e9fe0b74465c47081bc25d9c423a1668c9ede948c5627aa78f020000006a4730440220580ccb55105732dca7ae5e338c9d9af1651c1d8a9d167a0dfea41b977c38f67502205a5fe94fb9190a97f8bff5ee94e603323da36c0383a1d6fbf27b499bf900a24d012103f8a3801f6e45a63821c41c8cd5baa1aca5760e2dac0edce67ea1721e3a63a35dfeffffffb832371edbbd6ae9498ec3f33cc61333d1cfb0497f4600cbc0a05ceae82e39e7640000006b483045022100906a567b719038f7b5e0750e5c8ff4b1356dd28ecd867edfb7bf65623b50c64d02203bfe4bd0d08b4caff78112aa63bb4fbfb6804c428488dd5ac30266f0f2ba1fa9012103f8a3801f6e45a63821c41c8cd5baa1aca5760e2dac0edce67ea1721e3a63a35dfeffffffc20447c40b451c4ccb643863a3d06ecbf96681d8f5dace42a80a0e1b7627ec62660000006b483045022100e9912569e224fee0f9febfc1a9356918229461d323c891d93b21e2396bf8e3e2022053c814c6661b3fdabc838d0ea77585b9c340f659fbe902dc5cf7559939350756012103f8a3801f6e45a63821c41c8cd5baa1aca5760e2dac0edce67ea1721e3a63a35dfeffffff0269ef8a00000000001976a9148273705545d167297b7278503447d809d9e84b2e88ac003c9476520200001976a9147cf41bc3cdba1b8edf811877ab1cc9493847a3e488ace0cb0a00",
|
||||
"txid": "9d3e19d6f147c362410fa361b0cae9690e8de1c727e7a99bc145e7d95580a314",
|
||||
"blocktime": 1557858845,
|
||||
"time": 1557858845,
|
||||
"locktime": 707552,
|
||||
"version": 2,
|
||||
"vin": [
|
||||
{
|
||||
"txid": "3a39a64032514f437f63bc9739ad292bf6d1d08cf6101ae214d0d63240752c15",
|
||||
"vout": 55,
|
||||
"sequence": 4294967294,
|
||||
"scriptSig": {
|
||||
"hex": "483045022100f397fe990bc6871408a8178a4cac7afc27a989abd8dc32536d4b392e2d46d7d502205aafc72f6b76bfee3373da3786492c8d24107d1005751f25e6be4f8788d85a8e012103f8a3801f6e45a63821c41c8cd5baa1aca5760e2dac0edce67ea1721e3a63a35d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"txid": "8fa77a62c548e9edc968163a429c5dc21b08475c46740bfee969c945c5ed8c1d",
|
||||
"vout": 2,
|
||||
"sequence": 4294967294,
|
||||
"scriptSig": {
|
||||
"hex": "4730440220580ccb55105732dca7ae5e338c9d9af1651c1d8a9d167a0dfea41b977c38f67502205a5fe94fb9190a97f8bff5ee94e603323da36c0383a1d6fbf27b499bf900a24d012103f8a3801f6e45a63821c41c8cd5baa1aca5760e2dac0edce67ea1721e3a63a35d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"txid": "e7392ee8ea5ca0c0cb00467f49b0cfd13313c63cf3c38e49e96abddb1e3732b8",
|
||||
"vout": 100,
|
||||
"sequence": 4294967294,
|
||||
"scriptSig": {
|
||||
"hex": "483045022100906a567b719038f7b5e0750e5c8ff4b1356dd28ecd867edfb7bf65623b50c64d02203bfe4bd0d08b4caff78112aa63bb4fbfb6804c428488dd5ac30266f0f2ba1fa9012103f8a3801f6e45a63821c41c8cd5baa1aca5760e2dac0edce67ea1721e3a63a35d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"txid": "62ec27761b0e0aa842cedaf5d88166f9cb6ed0a3633864cb4c1c450bc44704c2",
|
||||
"vout": 102,
|
||||
"sequence": 4294967294,
|
||||
"scriptSig": {
|
||||
"hex": "483045022100e9912569e224fee0f9febfc1a9356918229461d323c891d93b21e2396bf8e3e2022053c814c6661b3fdabc838d0ea77585b9c340f659fbe902dc5cf7559939350756012103f8a3801f6e45a63821c41c8cd5baa1aca5760e2dac0edce67ea1721e3a63a35d"
|
||||
}
|
||||
}
|
||||
],
|
||||
"vout": [
|
||||
{
|
||||
"value": 0.09105257,
|
||||
"n": 0,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a9148273705545d167297b7278503447d809d9e84b2e88ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 25532.00000000,
|
||||
"n": 1,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a9147cf41bc3cdba1b8edf811877ab1cc9493847a3e488ac"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,331 @@
|
|||
{
|
||||
"connectBlocks": {
|
||||
"syncRanges": [
|
||||
{"lower": 702610, "upper": 702619},
|
||||
{"lower": 707540, "upper": 707548}
|
||||
],
|
||||
"blocks": {
|
||||
"702610": {
|
||||
"height": 702610,
|
||||
"hash": "00000000000042b3cd2d763d46320fc0a4fa973f11dec48f730da1992a1b4a19",
|
||||
"noTxs": 6,
|
||||
"txDetails": [
|
||||
{
|
||||
"hex": "02000000026bba01cbc000c54057b8558ac0acae555638a8338d85c7553723ebeacf32578a000000006a473044022024103908c0cf880d0f58bd00a825bc2ded66b42626da62c594de95860385f0f3022005b9f5fa339fd236d777f7bad4058955b3d5792a0dbc44dfe855db2b9fb3d0d1012102c90a0c3a4e95987e7d9e8d1bf743707340ec876d478dcf42effcd1e9e77ecd34feffffffea8457394368f8cd3915a5aff8faf628d111b376af1a3f8bc34e36b807dac34a030000006a4730440220515cb94883c0823d66dac740beb68a1510c46471ca2eaab2924ccf79d5d1db470220644a5fe3972d2f3bda6e6a3744dbb233c6d3afae76d54722f0b84458ef488af4012102c90a0c3a4e95987e7d9e8d1bf743707340ec876d478dcf42effcd1e9e77ecd34feffffff02b21d842b050000001976a91493f0a84f3e4fdcfea587d0c68f6236ec4ba8c0db88ac005cb2ec220000001976a914ee121fca023b92d0369eeb3a9dae9de2610b287088ac90b80a00",
|
||||
"txid": "32e7361f430957d58bc0e99ed0b115c673bc7c0755c92c925ba80802ad1182f5",
|
||||
"blocktime": 1557559421,
|
||||
"time": 1557559421,
|
||||
"version": 2,
|
||||
"vin": [
|
||||
{
|
||||
"txid": "8a5732cfeaeb233755c7858d33a8385655aeacc08a55b85740c500c0cb01ba6b",
|
||||
"vout": 0,
|
||||
"sequence": 4294967294,
|
||||
"scriptSig": {
|
||||
"hex": "473044022024103908c0cf880d0f58bd00a825bc2ded66b42626da62c594de95860385f0f3022005b9f5fa339fd236d777f7bad4058955b3d5792a0dbc44dfe855db2b9fb3d0d1012102c90a0c3a4e95987e7d9e8d1bf743707340ec876d478dcf42effcd1e9e77ecd34"
|
||||
}
|
||||
},
|
||||
{
|
||||
"txid": "4ac3da07b8364ec38b3f1aaf76b311d128f6faf8afa51539cdf86843395784ea",
|
||||
"vout": 3,
|
||||
"sequence": 4294967294,
|
||||
"scriptSig": {
|
||||
"hex": "4730440220515cb94883c0823d66dac740beb68a1510c46471ca2eaab2924ccf79d5d1db470220644a5fe3972d2f3bda6e6a3744dbb233c6d3afae76d54722f0b84458ef488af4012102c90a0c3a4e95987e7d9e8d1bf743707340ec876d478dcf42effcd1e9e77ecd34"
|
||||
}
|
||||
}
|
||||
],
|
||||
"vout": [
|
||||
{
|
||||
"value": 222.04915122,
|
||||
"n": 0,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a91493f0a84f3e4fdcfea587d0c68f6236ec4ba8c0db88ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 1500.00000000,
|
||||
"n": 1,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a914ee121fca023b92d0369eeb3a9dae9de2610b287088ac"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"hex": "020000000164e38b17ec20ca8a1071c100070e556cdb995b307040c8ac834e1b3e68dee349010000006b483045022100f161513ce7b96df7d772c1e34f71ce0515ff97d64c49cd3c1766406280adcd5802203b51e896b675f336b4600534ae67980b2193f6c39e1380facc7d69c34d0156060121021d06c7124eb7be62b3d4bf8f094510c29760a5f06c1b62c51c9f5df51857d27dfeffffff02e07866eb130000001976a914c889edba47f299e5a79dddbcad6fb9a1b566fc7888ac72abea26a40700001976a9141737a3b2e5b6e9e20067ec56f7db7d29014b1ce588ac91b80a00",
|
||||
"txid": "2e9bd5cc2afa7f5b9de22b39149c4341bc189a7b9ef7df49876173bdbc85b802",
|
||||
"blocktime": 1557559421,
|
||||
"time": 1557559421,
|
||||
"version": 2,
|
||||
"vin": [
|
||||
{
|
||||
"txid": "49e3de683e1b4e83acc84070305b99db6c550e0700c171108aca20ec178be364",
|
||||
"vout": 1,
|
||||
"sequence": 4294967294,
|
||||
"scriptSig": {
|
||||
"hex": "483045022100f161513ce7b96df7d772c1e34f71ce0515ff97d64c49cd3c1766406280adcd5802203b51e896b675f336b4600534ae67980b2193f6c39e1380facc7d69c34d0156060121021d06c7124eb7be62b3d4bf8f094510c29760a5f06c1b62c51c9f5df51857d27d"
|
||||
}
|
||||
}
|
||||
],
|
||||
"vout": [
|
||||
{
|
||||
"value": 855.5374000,
|
||||
"n": 0,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a914c889edba47f299e5a79dddbcad6fb9a1b566fc7888ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 84016.08944498,
|
||||
"n": 1,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a9141737a3b2e5b6e9e20067ec56f7db7d29014b1ce588ac"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"702611": {
|
||||
"height": 702611,
|
||||
"hash": "0000000000001c8c9218bad5a338daa93d16695a2bbfd1d35c32aba8094ccc07",
|
||||
"noTxs": 2,
|
||||
"txDetails": [
|
||||
{
|
||||
"hex": "02000000018f7a8b54bf2cc90ef51937601f63aa7bb9948a4891a8fdd970327efa86c3c6cf030000006b483045022100971099caabc08e507171f65648ea8d0b13ad1d0471479d4744cf2e41c02ab9aa0220652161d0cdd1d379249d2914c3ff2702680535647157c518ea7357d7cec0313a01210339ac9143c476ede4a7b39ec03d7b85b36c4d571ebe84f0d5caabb6948d34f43ffeffffff05b0da0e1e000000001976a914d1d3d3c7064a9aa29077f322b498b5ca6317bb5388ac3b3b740b090000001976a9142fdede3c1573c646ca13b59f4456b4e439a6ac3588ac6531e81f000000001976a9149d9bddb3e257cc565b775ac5147c8f74d1e2a9b788ac00d4121f000000001976a91407e5d84e1805d96781f9571095767f0103f68fda88ac72b85a22000000001976a914b5a99ad52450f8c2a8e81ab2cfa4e156936e3da888ac91b80a00",
|
||||
"txid": "1579ab536518550f2fc71609b0c007ba6f78167ecc361362e3a4480357946598",
|
||||
"blocktime": 1557559435,
|
||||
"time": 1557559435,
|
||||
"version": 2,
|
||||
"vin": [
|
||||
{
|
||||
"txid": "cfc6c386fa7e3270d9fda891488a94b97baa631f603719f50ec92cbf548b7a8f",
|
||||
"vout": 3,
|
||||
"sequence": 4294967295,
|
||||
"scriptSig": {
|
||||
"hex": "483045022100971099caabc08e507171f65648ea8d0b13ad1d0471479d4744cf2e41c02ab9aa0220652161d0cdd1d379249d2914c3ff2702680535647157c518ea7357d7cec0313a01210339ac9143c476ede4a7b39ec03d7b85b36c4d571ebe84f0d5caabb6948d34f43f"
|
||||
}
|
||||
}
|
||||
],
|
||||
"vout": [
|
||||
{
|
||||
"value": 5.04289968,
|
||||
"n": 0,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a914d1d3d3c7064a9aa29077f322b498b5ca6317bb5388ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 388.46872379,
|
||||
"n": 1,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a9142fdede3c1573c646ca13b59f4456b4e439a6ac3588ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 5.35310693,
|
||||
"n": 2,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a9149d9bddb3e257cc565b775ac5147c8f74d1e2a9b788ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 5.21327616,
|
||||
"n": 3,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a91407e5d84e1805d96781f9571095767f0103f68fda88ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 5.76370802,
|
||||
"n": 4,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a914b5a99ad52450f8c2a8e81ab2cfa4e156936e3da888ac"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"702619": {
|
||||
"height": 702619,
|
||||
"hash": "00000000000009aa5f637d634a18b42d62ae820daa341b5386b29248e2a42356",
|
||||
"noTxs": 3,
|
||||
"txDetails": [
|
||||
{
|
||||
"hex": "0200000001b93ae2aff06bc580e26331d6d59d2f3ae910cdc549993bb3a21acb53db3a50c80a0000006b483045022100d0083a5968774f7f01de6cc72f8fa04e458ea5ce4cccc58e73254966d8645cf9022056f10deaeaa44eb89f4b0204a16140a49237a1e79cd4d017837ab6719eb14959012102b1e1ef3235d31b84cbd22e0fd8c049202724e7e9382729ad2b881cda664639dcfeffffff03289d0ad5030000001976a91475fceb999dc2625360ad647894eec8f46882802a88ac50dc8956020000001976a9141cc4e68334b4a15aae8406ed296308c4f463d2ac88ac80d1cc67060000001976a914aedf3be432c995a5c054d102c16624b0e64bd04c88ac99b80a00",
|
||||
"txid": "0d4774305ee1be1d88334218379bf0669004c416e828e6fdceafcd320612bc81",
|
||||
"blocktime": 1557559657,
|
||||
"time": 1557559657,
|
||||
"version": 2,
|
||||
"vin": [
|
||||
{
|
||||
"txid": "c8503adb53cb1aa2b33b9949c5cd10e93a2f9dd5d63163e280c56bf0afe23ab9",
|
||||
"vout": 10,
|
||||
"sequence": 4294967294,
|
||||
"scriptSig": {
|
||||
"hex": "483045022100d0083a5968774f7f01de6cc72f8fa04e458ea5ce4cccc58e73254966d8645cf9022056f10deaeaa44eb89f4b0204a16140a49237a1e79cd4d017837ab6719eb14959012102b1e1ef3235d31b84cbd22e0fd8c049202724e7e9382729ad2b881cda664639dc"
|
||||
}
|
||||
}
|
||||
],
|
||||
"vout": [
|
||||
{
|
||||
"value": 164.59144488,
|
||||
"n": 0,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a91475fceb999dc2625360ad647894eec8f46882802a88ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 100.41810000,
|
||||
"n": 1,
|
||||
"scriptPubkey": {
|
||||
"hex": "76a9141cc4e68334b4a15aae8406ed296308c4f463d2ac88ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 275.11280000,
|
||||
"n": 2,
|
||||
"scriptPubkey": {
|
||||
"hex": "76a914aedf3be432c995a5c054d102c16624b0e64bd04c88ac"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"707548": {
|
||||
"height": 707548,
|
||||
"hash": "0000000000001deb9c03419e16bcf4d3bba37a68eab17b1d9e80d833d59eaa2f",
|
||||
"noTxs": 2,
|
||||
"txDetails": [
|
||||
{
|
||||
"hex": "020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff1503ddcb0a044208db5c014f10509801000000000000ffffffff020088526a740000001976a914055594c199fafa48f6ba46a3ada7cfc3c9d6eb1d88ac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"txid": "4e99215422b368329b7edc738461d9ee864fa9a9b95fcc2c07fa8b17cc0da49c",
|
||||
"blocktime": 1557858226,
|
||||
"time": 1557858226,
|
||||
"version": 2,
|
||||
"vin": [
|
||||
{
|
||||
"txid": "d7924d630473a8ed5934db65c06e364e76f5237ca7673d38b6f2a8aa52c52997",
|
||||
"vout": 0,
|
||||
"sequence": 4294967295,
|
||||
"scriptSig": {
|
||||
"hex": "483045022100952c376e729d5d9f2973bb4ad305e370d6a3331e61e3b9f8831c25c7bbb47c6002201f7c43ddc733d8aee44df51f431a3a0ae473ce95a98597602e4a87bc9e3874870121039e0b146c77f4c85cef15c2f51ad18ffa3141e08ee3ea55a41af68408ecb5e458"
|
||||
}
|
||||
}
|
||||
],
|
||||
"vout": [
|
||||
{
|
||||
"value": 33.51362274,
|
||||
"n": 0,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a9142f366c3fddc3dc8ce4f9a2b97042f5bb6159a6ab88ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 10.10052689,
|
||||
"n": 1,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a9144e4802c29f3b6b3ab0a32ce6314efa1e069141cc88ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 800.26159654,
|
||||
"n": 2,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a914f72a0f212c006992e36e3d3cac889f3e1a5b12c288ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 8.59088871,
|
||||
"n": 3,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a91438e85a0dc5ae187322239d7cba044664cbc587f888ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 6.09864291,
|
||||
"n": 4,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a914cf349fa004830769fa76e698033f0a00777f1fc588ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 9.36995447,
|
||||
"n": 5,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a914f43058a7559aef593985759588695e0198ead7f688ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 6.90847110,
|
||||
"n": 6,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a9140484e38edeb95813ba2d0919493de1710a66189d88ac"
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 7.45144308,
|
||||
"n": 7,
|
||||
"scriptPubKey": {
|
||||
"hex": "76a914b9dd0d2742a248ceef9c88630cd9f8a00747076188ac"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"handleFork": {
|
||||
"syncRanges": [
|
||||
{"lower": 702610, "upper": 702619},
|
||||
{"lower": 707540, "upper": 707548}
|
||||
],
|
||||
"fakeBlocks": {
|
||||
"702617": {
|
||||
"height": 702617,
|
||||
"hash": "0000000000002934ba9dc2f595a159f59b658c27247186bc90fe06798fad141e"
|
||||
},
|
||||
"702618": {
|
||||
"height": 702618,
|
||||
"hash": "000000000000605b9334525e1082de041c35c3bd25a62fe1cb73cdb241787884"
|
||||
},
|
||||
"702619": {
|
||||
"height": 702619,
|
||||
"hash": "0000000000004cc962adcfa5380f3664a34df55ddef94bc27c59064890c29bea"
|
||||
},
|
||||
"707547": {
|
||||
"height": 707547,
|
||||
"hash": "000000000000468a219597a5e99fafa3e9e9fafd4f52b1b3f09796b3cf8b0125"
|
||||
},
|
||||
"707548": {
|
||||
"height": 707548,
|
||||
"hash": "000000000000111258e9313f60f56a809c2ec63b81373af4eb5c2c5b140aff12"
|
||||
}
|
||||
},
|
||||
"realBlocks": {
|
||||
"702617": {
|
||||
"height": 702617,
|
||||
"hash": "000000000000208422f13be75d8e9dba367245ca11b5ce7a7a3d1f88ca31a2c4"
|
||||
},
|
||||
"702618": {
|
||||
"height": 702618,
|
||||
"hash": "00000000000047cdfb5ecb000b59a9f7622280356008f9cc05e15321626528ff"
|
||||
},
|
||||
"702619": {
|
||||
"height": 702619,
|
||||
"hash": "00000000000009aa5f637d634a18b42d62ae820daa341b5386b29248e2a42356"
|
||||
},
|
||||
"707547": {
|
||||
"height": 707547,
|
||||
"hash": "00000000000031c13e3c865d5f7861f28aa02bf997716471f364db6b69b6244f"
|
||||
},
|
||||
"707548": {
|
||||
"height": 707548,
|
||||
"hash": "0000000000001deb9c03419e16bcf4d3bba37a68eab17b1d9e80d833d59eaa2f"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -155,5 +155,10 @@
|
|||
"rpc": ["GetBlock", "GetBlockHash", "GetTransaction", "GetTransactionForMempool", "MempoolSync",
|
||||
"EstimateSmartFee", "EstimateFee", "GetBestBlockHash", "GetBestBlockHeight", "GetBlockHeader"],
|
||||
"sync": ["ConnectBlocksParallel", "ConnectBlocks", "HandleFork"]
|
||||
},
|
||||
"ravencoin": {
|
||||
"rpc": ["GetBlock", "GetBlockHash", "GetTransaction", "GetTransactionForMempool", "MempoolSync",
|
||||
"EstimateSmartFee", "GetBestBlockHash", "GetBestBlockHeight", "GetBlockHeader"],
|
||||
"sync": ["ConnectBlocksParallel", "ConnectBlocks", "HandleFork"]
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue