add bitcoin-signet (#533)

pull/423/head^2
Jin Eguchi 2020-12-29 08:47:50 +09:00 committed by GitHub
parent 15b88ef23d
commit 077e637093
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 473 additions and 1 deletions

View File

@ -61,6 +61,7 @@ var BlockChainFactories = make(map[string]blockChainFactory)
func init() {
BlockChainFactories["Bitcoin"] = btc.NewBitcoinRPC
BlockChainFactories["Testnet"] = btc.NewBitcoinRPC
BlockChainFactories["Signet"] = btc.NewBitcoinRPC
BlockChainFactories["Zcash"] = zec.NewZCashRPC
BlockChainFactories["Zcash Testnet"] = zec.NewZCashRPC
BlockChainFactories["Ethereum"] = eth.NewEthereumRPC

View File

@ -18,6 +18,22 @@ import (
"github.com/trezor/blockbook/bchain"
)
// temp params for signet(wait btcd commit)
// magic numbers
const (
SignetMagic wire.BitcoinNet = 0x6a70c7f0
)
// chain parameters
var (
SigNetParams chaincfg.Params
)
func init() {
SigNetParams = chaincfg.TestNet3Params
SigNetParams.Net = SignetMagic
}
// OutputScriptToAddressesFunc converts ScriptPubKey to bitcoin addresses
type OutputScriptToAddressesFunc func(script []byte) ([]string, bool, error)
@ -63,6 +79,8 @@ func GetChainParams(chain string) *chaincfg.Params {
return &chaincfg.TestNet3Params
case "regtest":
return &chaincfg.RegressionNetParams
case "signet":
return &SigNetParams
}
return &chaincfg.MainNetParams
}

View File

@ -259,10 +259,11 @@ func TestGetAddressesFromAddrDesc(t *testing.T) {
}
var (
testTx1, testTx2 bchain.Tx
testTx1, testTx2, testTx3 bchain.Tx
testTxPacked1 = "0001e2408ba8d7af5401000000017f9a22c9cbf54bd902400df746f138f37bcf5b4d93eb755820e974ba43ed5f42040000006a4730440220037f4ed5427cde81d55b9b6a2fd08c8a25090c2c2fff3a75c1a57625ca8a7118022076c702fe55969fa08137f71afd4851c48e31082dd3c40c919c92cdbc826758d30121029f6da5623c9f9b68a9baf9c1bc7511df88fa34c6c2f71f7c62f2f03ff48dca80feffffff019c9700000000000017a9146144d57c8aff48492c9dfb914e120b20bad72d6f8773d00700"
testTxPacked2 = "0007c91a899ab7da6a010000000001019d64f0c72a0d206001decbffaa722eb1044534c74eee7a5df8318e42a4323ec10000000017160014550da1f5d25a9dae2eafd6902b4194c4c6500af6ffffffff02809698000000000017a914cd668d781ece600efa4b2404dc91fd26b8b8aed8870553d7360000000017a914246655bdbd54c7e477d0ea2375e86e0db2b8f80a8702473044022076aba4ad559616905fa51d4ddd357fc1fdb428d40cb388e042cdd1da4a1b7357022011916f90c712ead9a66d5f058252efd280439ad8956a967e95d437d246710bc9012102a80a5964c5612bb769ef73147b2cf3c149bc0fd4ecb02f8097629c94ab013ffd00000000"
testTxPacked3 = "00003d818bfda9aa3e02000000000102deb1999a857ab0a13d6b12fbd95ea75b409edde5f2ff747507ce42d9986a8b9d0000000000fdffffff9fd2d3361e203b2375eba6438efbef5b3075531e7e583c7cc76b7294fe7f22980000000000fdffffff02a0860100000000001600148091746745464e7555c31e9a5afceac14a02978ae7fc1c0000000000160014565ea9ff4589d3e05ba149ae6e257752bfdc2a1e0247304402207d67d320a8e813f986b35e9791935fcb736754812b7038686f5de6cfdcda99cd02201c3bb2c178e0056016437ecfe365a7eef84aa9d293ebdc566177af82e22fcdd3012103abb30c1bbe878b07b58dc169b1d061d48c60be8107f632a59778b38bf7ceea5a02473044022044f54a478cfe086e870cb026c9dcd4e14e63778bef569a4d55a6332725cd9a9802202f0e94c04e6f328fc64ad9efe552888c299750d1b8d033324825a3ff29920e030121036fcd433428aa7dc65c4f5408fa31f208c54fe4b4c6c1ae9c39a825ed4f1ac039813d0000"
)
func init() {
@ -335,6 +336,54 @@ func init() {
},
},
}
testTx3 = bchain.Tx{
Hex: "02000000000102deb1999a857ab0a13d6b12fbd95ea75b409edde5f2ff747507ce42d9986a8b9d0000000000fdffffff9fd2d3361e203b2375eba6438efbef5b3075531e7e583c7cc76b7294fe7f22980000000000fdffffff02a0860100000000001600148091746745464e7555c31e9a5afceac14a02978ae7fc1c0000000000160014565ea9ff4589d3e05ba149ae6e257752bfdc2a1e0247304402207d67d320a8e813f986b35e9791935fcb736754812b7038686f5de6cfdcda99cd02201c3bb2c178e0056016437ecfe365a7eef84aa9d293ebdc566177af82e22fcdd3012103abb30c1bbe878b07b58dc169b1d061d48c60be8107f632a59778b38bf7ceea5a02473044022044f54a478cfe086e870cb026c9dcd4e14e63778bef569a4d55a6332725cd9a9802202f0e94c04e6f328fc64ad9efe552888c299750d1b8d033324825a3ff29920e030121036fcd433428aa7dc65c4f5408fa31f208c54fe4b4c6c1ae9c39a825ed4f1ac039813d0000",
Blocktime: 1607805599,
Txid: "24551a58a1d1fb89d7052e2bbac7cb69a7825ee1e39439befbec8c32148cf735",
LockTime: 15745,
Version: 2,
Vin: []bchain.Vin{
{
ScriptSig: bchain.ScriptSig{
Hex: "",
},
Txid: "9d8b6a98d942ce077574fff2e5dd9e405ba75ed9fb126b3da1b07a859a99b1de",
Vout: 0,
Sequence: 4294967293,
},
{
ScriptSig: bchain.ScriptSig{
Hex: "",
},
Txid: "98227ffe94726bc77c3c587e1e5375305beffb8e43a6eb75233b201e36d3d29f",
Vout: 0,
Sequence: 4294967293,
},
},
Vout: []bchain.Vout{
{
ValueSat: *big.NewInt(100000),
N: 0,
ScriptPubKey: bchain.ScriptPubKey{
Hex: "00148091746745464e7555c31e9a5afceac14a02978a",
Addresses: []string{
"tb1qszghge69ge8824wrr6d94l82c99q99u2ccgv5w",
},
},
},
{
ValueSat: *big.NewInt(1899751),
N: 1,
ScriptPubKey: bchain.ScriptPubKey{
Hex: "0014565ea9ff4589d3e05ba149ae6e257752bfdc2a1e",
Addresses: []string{
"tb1q2e02nl6938f7qkapfxhxufth22lac2s792vsxp",
},
},
},
},
}
}
func TestPackTx(t *testing.T) {
@ -372,6 +421,17 @@ func TestPackTx(t *testing.T) {
want: testTxPacked2,
wantErr: false,
},
{
name: "signet-1",
args: args{
tx: testTx3,
height: 15745,
blockTime: 1607805599,
parser: NewBitcoinParser(GetChainParams("signet"), &Configuration{}),
},
want: testTxPacked3,
wantErr: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
@ -420,6 +480,16 @@ func TestUnpackTx(t *testing.T) {
want1: 510234,
wantErr: false,
},
{
name: "signet-1",
args: args{
packedTx: testTxPacked3,
parser: NewBitcoinParser(GetChainParams("signet"), &Configuration{}),
},
want: &testTx3,
want1: 15745,
wantErr: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {

View File

@ -0,0 +1,33 @@
{{define "main" -}}
daemon=1
server=1
{{if .Backend.Mainnet}}mainnet=1{{else}}signet=1{{end}}
nolisten=1
txindex=1
disablewallet=1
zmqpubhashtx={{template "IPC.MessageQueueBindingTemplate" .}}
zmqpubhashblock={{template "IPC.MessageQueueBindingTemplate" .}}
rpcworkqueue=1100
maxmempool=2000
dbcache=1000
{{- if .Backend.AdditionalParams}}
# generated from additional_params
{{- range $name, $value := .Backend.AdditionalParams}}
{{- if eq $name "addnode"}}
{{- range $index, $node := $value}}
addnode={{$node}}
{{- end}}
{{- else}}
{{$name}}={{$value}}
{{- end}}
{{- end}}
{{- end}}
{{if .Backend.Mainnet}}[main]{{else}}[signet]{{end}}
{{generateRPCAuth .IPC.RPCUser .IPC.RPCPass -}}
rpcport={{.Ports.BackendRPC}}
{{end}}

View File

@ -0,0 +1,67 @@
{
"coin": {
"name": "Signet",
"shortcut": "sBTC",
"label": "Bitcoin Signet",
"alias": "bitcoin_signet"
},
"ports": {
"backend_rpc": 18020,
"backend_message_queue": 48320,
"blockbook_internal": 19020,
"blockbook_public": 19120
},
"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-bitcoin-signet",
"package_revision": "satoshilabs-1",
"system_user": "bitcoin",
"version": "0.21.0rc2",
"binary_url": "https://storage.tamami-foundation.org/bitcoin-a35b948836db20fab9b48d3b77cf9f23ffee109a-x86_64-linux-gnu.tar.gz",
"verification_type": "sha256",
"verification_source": "b7cbeafd6a20c53f593a763cde94115ff39ae63e14049037bffbe4656eeebdc4",
"extract_command": "tar -C backend --strip 1 -xf",
"exclude_files": [],
"exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/bitcoind -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/signet/*.log",
"postinst_script_template": "",
"service_type": "forking",
"service_additional_params_template": "",
"protect_memory": true,
"mainnet": false,
"server_config_file": "bitcoin-signet.conf",
"client_config_file": "bitcoin_client.conf",
"additional_params": {
"deprecatedrpc": "estimatefee"
}
},
"blockbook": {
"package_name": "blockbook-bitcoin-signet",
"system_user": "blockbook-bitcoin",
"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": 70617039,
"xpub_magic_segwit_p2sh": 71979618,
"xpub_magic_segwit_native": 73342198,
"slip44": 1,
"additional_params": {}
}
},
"meta": {
"package_maintainer": "wakiyamap",
"package_maintainer_email": "wakiyamap@gmail.com"
}
}

View File

@ -44,6 +44,7 @@
| Unobtanium | 9092 | 9192 | 65535 | 38392 |
| Omotenashicoin | 9094 | 9194 | 8094 | 38394 |
| BitZeny | 9095 | 9195 | 8095 | 38395 |
| Bitcoin Signet | 19020 | 19120 | 18020 | 48320 |
| Bitcoin Testnet | 19030 | 19130 | 18030 | 48330 |
| Bitcoin Cash Testnet | 19031 | 19131 | 18031 | 48331 |
| Zcash Testnet | 19032 | 19132 | 18032 | 48332 |

View File

@ -0,0 +1,89 @@
{
"blockHeight": 15254,
"blockHash": "000000e3c2b5c8193b96d7ddfab11d7ba04ecfa4f09c7c73ef565af8a3d5731b",
"blockTime": 1607488510,
"blockTxs": [
"484cbfd56b5f3ae079a2e48acd107cf63cbf6139249a69ad6a4f0f85a28e9187",
"175b6cbdc5155069339f01852ffaaa9908b8528b568ea24c5a6d1b64a3c2cda3",
"c3ae1e409836b70b1007069b3943d4cba64e8322b0badf811a671e154dc7a11d",
"1f1f01af015cbfc2e6ad40af3cd65dd5a89d2492ccb9dcbd8554f4ecfe3ec7e0"
],
"txDetails": {
"175b6cbdc5155069339f01852ffaaa9908b8528b568ea24c5a6d1b64a3c2cda3": {
"hex": "02000000000101a80513c9c4a45e95089c7f574d5b793f1446128ef316f4353abbc4512dfc14930000000000feffffff02a086010000000000160014d2850d5a21ab3ca3fa2b395c2e6c354f3cae5a239cb00d0000000000160014c9df5d6ccbc6d067d1982267f5b06db644f4218f0247304402204fd46878214ac9cde3acbd5ffac35f7ea9773691090fee894457e626634b720c02201b8c66173193f74f4978703fe02f81ac0839dcebb25cc0cebe31ed5924871f48012103ecfc7e8d21743fe2677057b12b5bb608efd0e8ce065e467e584a48b0656f2c20953b0000",
"txid": "175b6cbdc5155069339f01852ffaaa9908b8528b568ea24c5a6d1b64a3c2cda3",
"blocktime": 1607488510,
"time": 1607488510,
"locktime": 15253,
"version": 2,
"vin": [
{
"txid": "9314fc2d51c4bb3a35f416f38e1246143f795b4d577f9c08955ea4c4c91305a8",
"vout": 0,
"sequence": 4294967294,
"scriptSig": {
"hex": ""
}
}
],
"vout": [
{
"value": 0.001,
"n": 0,
"scriptPubKey": {
"hex": "0014d2850d5a21ab3ca3fa2b395c2e6c354f3cae5a23"
}
},
{
"value": 0.0089718,
"n": 1,
"scriptPubKey": {
"hex": "0014c9df5d6ccbc6d067d1982267f5b06db644f4218f"
}
}
]
},
"1f1f01af015cbfc2e6ad40af3cd65dd5a89d2492ccb9dcbd8554f4ecfe3ec7e0": {
"hex": "020000000001027386c85b8e00a7a0b19e20c04b9feaa7f60876d7c721301b4f150fa31f24502e0100000000feffffffa3cdc2a3641b6d5a4ca28e568b52b80899aafa2f85019f33695015c5bd6c5b170000000000feffffff022476010000000000160014745e303dc3ded3cf4407bff76bb287f3c05df1c8a0860100000000001976a91462e907b15cbf27d5425399ebf6f0fb50ebb88f1888ac0247304402201c2a302a96a28b5effe632e2cc312793d1163311ad50c7dc65aa1a3caef809e502206d54609b7b4bae245246db6f521d71221aaa24b0eb0f1a856fd75d35d3fc302d012103ecfc7e8d21743fe2677057b12b5bb608efd0e8ce065e467e584a48b0656f2c200247304402207cc78f7f28844dd0a1a1c7857261b57f0c5b4ca7d2118e9ff26cdd9fa42933880220543f6a5b84bd16988176068e6861d634c5850da44badc73915bce9117a1bc0c9012103190640ce052336349c617faca40370c452c7b48ae1aefbd3cc2a08a154ec843c953b0000",
"txid": "1f1f01af015cbfc2e6ad40af3cd65dd5a89d2492ccb9dcbd8554f4ecfe3ec7e0",
"blocktime": 1607488510,
"time": 1607488510,
"locktime": 15253,
"version": 2,
"vin": [
{
"txid": "2e50241fa30f154f1b3021c7d77608f6a7ea9f4bc0209eb1a0a7008e5bc88673",
"vout": 1,
"sequence": 4294967294,
"scriptSig": {
"hex": ""
}
},
{
"txid": "175b6cbdc5155069339f01852ffaaa9908b8528b568ea24c5a6d1b64a3c2cda3",
"vout": 0,
"sequence": 4294967294,
"scriptSig": {
"hex": ""
}
}
],
"vout": [
{
"value": 0.0009578,
"n": 0,
"scriptPubKey": {
"hex": "0014745e303dc3ded3cf4407bff76bb287f3c05df1c8"
}
},
{
"value": 0.001,
"n": 1,
"scriptPubKey": {
"hex": "76a91462e907b15cbf27d5425399ebf6f0fb50ebb88f1888ac"
}
}
]
}
}
}

View File

@ -0,0 +1,188 @@
{
"connectBlocks": {
"syncRanges": [
{"lower": 15331, "upper": 15351}
],
"blocks": {
"15343": {
"height": 15343,
"hash": "000001003f625cbecd53924713929b5a91b12edf4eb844f33781ecb6bb78e69b",
"noTxs": 4,
"txDetails": [
{
"hex": "020000000001017983f5982048b0f79f2d9349ef681d7f3039f29e3e896130e92d2283ff0757900100000000fdffffff02002d310100000000160014691b727701f2e4aec30fe57775a7439ea8d4c8d8dc6db41c000000001600147a0adbac8308cfef483600e0dd12954dbf1314a102463043021f2e8df6e4c8a6f8fc27656710f44ca45cc9042815e1a0466f94549643d13a190220740264294e9e341700ab463fe5bc9085cbd8cf886aac4a0f310cf55b1d836725012103e9c239ec00d505e7ce6153df4f949a9ee8c6f6dfc1d4d684766be12012a730f200000000",
"txid": "c4e39caaccb0b3ac4f0d0b59df0c067b4478b4aee6494ba12dd83a004212e020",
"time": 1607542920,
"blocktime": 1607542920,
"version": 2,
"vin": [
{
"txid": "905707ff83222de93061893e9ef239307f1d68ef49932d9ff7b0482098f58379",
"vout": 1,
"scriptSig": {
"hex": ""
},
"sequence": 4294967293
}
],
"vout": [
{
"value": 0.2,
"n": 0,
"scriptPubKey": {
"hex": "0014691b727701f2e4aec30fe57775a7439ea8d4c8d8"
}
},
{
"value": 4.81586652,
"n": 1,
"scriptPubKey": {
"hex": "00147a0adbac8308cfef483600e0dd12954dbf1314a1"
}
}
]
},
{
"hex": "0200000000010120e01242003ad82da14b49e6aeb478447b060cdf590b0d4facb3b0ccaa9ce3c40100000000fdffffff0240420f0000000000160014691b727701f2e4aec30fe57775a7439ea8d4c8d88d25a51c0000000016001463f22c52493943bd1b9e5be92f356cf7262de60b02473044022040e5e7f538c41c05a8b18f583f3d984cb980d08adb53e3586d1c7d5f60fc78b002203615beaae670e862bd1423e17514eda4b0979903165883e015b63779d09391650121029b9d6beb0f70bd2de94c9fb9d27c03a522662e602b0b148325730a11e9b03d1d00000000",
"txid": "4f341d6402c637084c5d5e59b4dd2d57e56d5917028bbbdfb1ab1c467d287071",
"time": 1607542920,
"blocktime": 1607542920,
"version": 2,
"vin": [
{
"txid": "c4e39caaccb0b3ac4f0d0b59df0c067b4478b4aee6494ba12dd83a004212e020",
"vout": 1,
"scriptSig": {
"hex": ""
},
"sequence": 4294967293
}
],
"vout": [
{
"value": 0.01,
"n": 0,
"scriptPubKey": {
"hex": "0014691b727701f2e4aec30fe57775a7439ea8d4c8d8"
}
},
{
"value": 4.80585101,
"n": 1,
"scriptPubKey": {
"hex": "001463f22c52493943bd1b9e5be92f356cf7262de60b"
}
}
]
}
]
},
"15332": {
"height": 15332,
"hash": "0000014b2d8f7f92dfc3b5093adf50196102dcced82d18e35b4acc2bf70538a2",
"noTxs": 3,
"txDetails": [
{
"txid": "2905c79019a54257e01fd6689fed30491d83c52fbb6b62ae87eaaa4dfa8341be",
"version": 2,
"vin": [
{
"txid": "e1136349ee7fa69d830eb900aede1fbed47771a1020a6155698fb41322104206",
"vout": 1,
"scriptSig": {
"hex": ""
},
"sequence": 4294967294
}
],
"vout": [
{
"value": 0.10006478,
"n": 0,
"scriptPubKey": {
"hex": "0014d98421601a5b89d841934a6ed669288112af0c6f"
}
},
{
"value": 0.001,
"n": 1,
"scriptPubKey": {
"hex": "0014aeab6c795903122914f13d7d7d589256e8cd8e09"
}
}
],
"hex": "02000000000101a1e47c71920956bd0a086ba412e00e0b34439b58a9982b3ff4cb04ad66fff8bd0100000000feffffff0220a1070000000000160014aeab6c795903122914f13d7d7d589256e8cd8e094d773100000000001600143dc77e4488d63a103969edaed7727f771aa62db202473044022047861364d64366ed6c085f054a0f3f9cd0625848fff90d654af77d8c6f84ec3d02201de5167ab2d0326c3b318f72e3386e2427fb6d9136c98660c3bac175947c11250121027da83a3c50bad5cbacd6637fec4387f7cb7e8840252b8eed90461fb49d6c7ed5e33b0000",
"time": 1607530625,
"blocktime": 1607530625
},
{
"txid": "617bdcc537aba2c7e7ec32e47e3fd422471294f508ead8e470b6bad8871e33dd",
"version": 2,
"vin": [
{
"txid": "bdf8ff66ad04cbf43f2b98a9589b43340b0ee012a46b080abd560992717ce4a1",
"vout": 1,
"scriptSig": {
"hex": ""
},
"sequence": 4294967294
}
],
"vout": [
{
"value": 0.005,
"n": 0,
"scriptPubKey": {
"hex": "0014aeab6c795903122914f13d7d7d589256e8cd8e09"
}
},
{
"value": 0.03241805,
"n": 1,
"scriptPubKey": {
"hex": "00143dc77e4488d63a103969edaed7727f771aa62db2"
}
}
],
"hex": "02000000000101a1e47c71920956bd0a086ba412e00e0b34439b58a9982b3ff4cb04ad66fff8bd0100000000feffffff0220a1070000000000160014aeab6c795903122914f13d7d7d589256e8cd8e094d773100000000001600143dc77e4488d63a103969edaed7727f771aa62db202473044022047861364d64366ed6c085f054a0f3f9cd0625848fff90d654af77d8c6f84ec3d02201de5167ab2d0326c3b318f72e3386e2427fb6d9136c98660c3bac175947c11250121027da83a3c50bad5cbacd6637fec4387f7cb7e8840252b8eed90461fb49d6c7ed5e33b0000",
"time": 1607530625,
"blocktime": 1607530625
}
]
}
}
},
"handleFork": {
"syncRanges": [
{"lower": 14980, "upper": 15000}
],
"fakeBlocks": {
"14998": {
"height": 14998,
"hash": "000000bf050076a4470586bb3c382228f94d43efba8957834f55d0c46f3e1a5f"
},
"14999": {
"height": 14999,
"hash": "0000006c5ed1d034aba9ebd08e6427a97ac504af0fd5c9d99d996914e7d014d4"
},
"15000": {
"height": 15000,
"hash": "000000c90909c2a8255b746c8b83efcdbe6f0a550b35c50b96648e6f7c2a6d76"
}
},
"realBlocks": {
"14998": {
"height": 14998,
"hash": "000000e3bce7e8d798929652939695f03311ea65db07d440d55eb5b47d56314b"
},
"14999": {
"height": 14999,
"hash": "000000baafbf2decb88c88058933c38329a59a8b961fd831e065330124427ec1"
},
"15000": {
"height": 15000,
"hash": "0000007ca36d1135444f3b1870de04313d2b458b98cf6075aa364245b3c2ddb9"
}
}
}
}

View File

@ -27,6 +27,11 @@
"EstimateSmartFee", "EstimateFee", "GetBestBlockHash", "GetBestBlockHeight", "GetBlockHeader"],
"sync": ["ConnectBlocksParallel", "ConnectBlocks", "HandleFork"]
},
"bitcoin_signet": {
"rpc": ["GetBlock", "GetBlockHash", "GetTransaction", "GetTransactionForMempool", "MempoolSync",
"EstimateSmartFee", "EstimateFee", "GetBestBlockHash", "GetBestBlockHeight", "GetBlockHeader"],
"sync": ["ConnectBlocksParallel", "ConnectBlocks", "HandleFork"]
},
"bitcore": {
"rpc": ["GetBlock", "GetBlockHash", "GetTransaction", "GetTransactionForMempool", "MempoolSync",
"EstimateSmartFee", "EstimateFee", "GetBestBlockHash", "GetBestBlockHeight", "GetBlockHeader"],