Giter VIP home page Giter VIP logo

arc's Introduction

Bitcoin SV

What is Bitcoin SV?

Bitcoin SV (Satoshi Vision) is the original Bitcoin. It restores the original Bitcoin protocol, will keep it stable, and allow it to massively scale. Bitcoin SV will maintain the vision set out by Satoshi Nakamoto’s white paper in 2008. This Github repository provides open-source software to enable use of Bitcoin SV.

License

Bitcoin SV is released under the terms of the Open BSV license. See LICENSE for more information.

Security

Security is core to our values, and we value the input of security researchers acting in good faith to help us maintain high standards of security and privacy for our users and the Bitcoin SV blockchain.

To encourage ethical and responsible research into security vulnerabilities, the Bitcoin SV team, with support from Coingeek Mining, has instituted a Responsible Disclosure Policy.

Development Process

This Github repository contains the source code of releases.

At this early stage in Bitcoin SV's development, we are not accepting contributions to the project. We expect this to change in the future.

Contacting the Bitcoin SV Team

If you want to report a non-confidential issue with Bitcoin SV, please use the GitHub issue system.

If you want to report a security vulnerability, please review the Responsible Disclosure Policy and send e-mail to [email protected].

For any other questions or issues, please send e-mail to [email protected].

arc's People

Contributors

arkadiuszos4chain avatar boecklim avatar farzan1990 avatar icellan avatar kameshraj23 avatar kuba-4chain avatar nozim avatar ordishs avatar oskarszoon avatar shotasilagadzetaal avatar sirdeggen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

arc's Issues

Client Feedback & Simple Bug Report

Here's a mix of feedback we've received after a few days of a few apps testing:

First impressions:

  • seems to perform better than mAPI, but worse than p2p
  • looks like a well thought out architecture
  • didn't immediately got the client package working so created the http requests myself
  • bug: received txStatus REJECTED while a tx went through anyway

Transactions are not checked for nLocktime and inputs are not checked for nSequence

/* lots of our valid test transactions have this sequence number, is this not allowed?

This should check to ensure inputs are all final only if the nLocktime is being enforced. The TODO suggests that this check was raising issues during development.

I think that it should be fine to invert this. Only pass if nSequence are all final. Otherwise we have to check nLocktime, but we don't know the height we're at in terms of block without checking blockTx which complicates things.

I would suggest we add status context rather than erroring out. If the nSequence numbers are lower than max - just noting that it might be the case that this transaction does not get mined until the nLocktime value passes.

Discussion:

Transactions stuck on ANNOUNCED_TO_NETWORK

Hello we have been broadcasting to Gorilla pool Arc and everything works fine except occasionally all txs submitted to arc are stuck in ANNOUNCED_TO_NETWORK status. Sometimes restarting arc fixes it. Below is an example hex, in extended format, which failed (note the utxos may be spent by the time you read this)

Failed tx hex

010000000000000000ef0a88f080498b87cd4233c9759dfb6a1f53825354d0418475b8919d17432e2a8f78020000006a473044022031f96674d39b58dc051a19ba79e7f0c3b91beafeff5d468e0a1bb12d9c90c0da022039de6b4322040846ca1269f681995e5bcb34b8eced8f97e65607ae8eb9df7a43412103ec48a60e051ca9ca32b642d0a50d08b153a9a98e3589b68378b0b5220ed75948ffffffff0100000000000000fda40476a9140975c6509bb79be7c7a58614ef6e76f085f5524a88ac0063036f72645109746578742f68746d6c004ca13c68746d6c3e3c626f6479207374796c653d22746578742d616c69676e3a63656e746572223e3c696d67207374796c653d226865696768743a3130302522207372633d222f636f6e74656e742f306431613066336339633730613134663666343334393231663035366239313036306330643439306239323262333239343266326536333038303135646237655f3022202f3e3c2f626f64793e3c2f68746d6c3e686a223150755161374b36324d694b43747373534c4b79316b683536575755374d7455523503534554036170701f4368616d70696f6e73206f66204f74686572776f726c646c79204d616769630474797065036f7264046e616d6507436f736d61726107737562547970650e636f6c6c656374696f6e4974656d0b73756254797065446174614d5f027b22636f6c6f72223a2223383933346638222c22747261697473223a5b7b226e616d65223a2245646974696f6e222c2276616c7565223a224669727374222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2247656e65726174696f6e222c2276616c7565223a332c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a22536b696e222c2276616c7565223a22436c6173736963222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a224368616d70696f6e204e756d626572222c2276616c7565223a3439392c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224d616e6120436f7374222c2276616c7565223a352c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224162696c697479222c2276616c7565223a224f74686572776f726c646c79222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2245766f6c7574696f6e73222c2276616c7565223a22436f736d617261222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2243617264204964222c2276616c7565223a22343939222c22646973706c617954797065223a22737472696e67227d5d2c227261726974794c6162656c223a22436f6d6d6f6e222c22636f6c6c656374696f6e4964223a22353335613863653134373462396166303030386230643839353832333831643262626135666262383139303130393666656132623538383064313938376331365f30227d09726f79616c746965734c705b7b2274797065223a227061796d61696c222c2264657374696e6174696f6e223a2232363965366437312d393732622d343662382d383434332d323334663937306138386330407061792e6368616d70696f6e737463672e636f6d222c2270657263656e74616765223a302e30317d5d017c055349474d410342534d2131436f6f4d6568784a62766234434d6968755058417a32647a6b7979563643764d411f44e30307971564dbdc1319c3c02cd77627986a1724200e6758c74bcb01b099d840f609fe27cbc8050fbcc43caa6f8eebfc6e1cc7a98541c2bcae75cbec57b105013088f080498b87cd4233c9759dfb6a1f53825354d0418475b8919d17432e2a8f78040000006b483045022100c7953a6cb5949a059b76b6c7dd93d7674de6652ac91f9bd73268fa0bab1bd7db02206bbc0db8534871e6e8b9e7b7c96f186be2f860898ccb078b2742f139bdf10e8d412103ec48a60e051ca9ca32b642d0a50d08b153a9a98e3589b68378b0b5220ed75948ffffffff0100000000000000fda40476a9140975c6509bb79be7c7a58614ef6e76f085f5524a88ac0063036f72645109746578742f68746d6c004ca13c68746d6c3e3c626f6479207374796c653d22746578742d616c69676e3a63656e746572223e3c696d67207374796c653d226865696768743a3130302522207372633d222f636f6e74656e742f306431613066336339633730613134663666343334393231663035366239313036306330643439306239323262333239343266326536333038303135646237655f3022202f3e3c2f626f64793e3c2f68746d6c3e686a223150755161374b36324d694b43747373534c4b79316b683536575755374d7455523503534554036170701f4368616d70696f6e73206f66204f74686572776f726c646c79204d616769630474797065036f7264046e616d6507436f736d61726107737562547970650e636f6c6c656374696f6e4974656d0b73756254797065446174614d5f027b22636f6c6f72223a2223383933346638222c22747261697473223a5b7b226e616d65223a2245646974696f6e222c2276616c7565223a224669727374222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2247656e65726174696f6e222c2276616c7565223a332c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a22536b696e222c2276616c7565223a22436c6173736963222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a224368616d70696f6e204e756d626572222c2276616c7565223a3439392c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224d616e6120436f7374222c2276616c7565223a352c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224162696c697479222c2276616c7565223a224f74686572776f726c646c79222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2245766f6c7574696f6e73222c2276616c7565223a22436f736d617261222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2243617264204964222c2276616c7565223a22343939222c22646973706c617954797065223a22737472696e67227d5d2c227261726974794c6162656c223a22436f6d6d6f6e222c22636f6c6c656374696f6e4964223a22353335613863653134373462396166303030386230643839353832333831643262626135666262383139303130393666656132623538383064313938376331365f30227d09726f79616c746965734c705b7b2274797065223a227061796d61696c222c2264657374696e6174696f6e223a2232363965366437312d393732622d343662382d383434332d323334663937306138386330407061792e6368616d70696f6e737463672e636f6d222c2270657263656e74616765223a302e30317d5d017c055349474d410342534d2131436f6f4d6568784a62766234434d6968755058417a32647a6b7979563643764d411f44e30307971564dbdc1319c3c02cd77627986a1724200e6758c74bcb01b099d840f609fe27cbc8050fbcc43caa6f8eebfc6e1cc7a98541c2bcae75cbec57b105013088f080498b87cd4233c9759dfb6a1f53825354d0418475b8919d17432e2a8f78050000006b483045022100ecd0b78be6d6bab25859f05527147ec219addde5d63c90622f217bad38005ce20220625ff1639345df69b3299d14a66f2c06775e678ed31a7936dc80f78ecd1ae200412103ec48a60e051ca9ca32b642d0a50d08b153a9a98e3589b68378b0b5220ed75948ffffffff0100000000000000fda40476a9140975c6509bb79be7c7a58614ef6e76f085f5524a88ac0063036f72645109746578742f68746d6c004ca13c68746d6c3e3c626f6479207374796c653d22746578742d616c69676e3a63656e746572223e3c696d67207374796c653d226865696768743a3130302522207372633d222f636f6e74656e742f306431613066336339633730613134663666343334393231663035366239313036306330643439306239323262333239343266326536333038303135646237655f3022202f3e3c2f626f64793e3c2f68746d6c3e686a223150755161374b36324d694b43747373534c4b79316b683536575755374d7455523503534554036170701f4368616d70696f6e73206f66204f74686572776f726c646c79204d616769630474797065036f7264046e616d6507436f736d61726107737562547970650e636f6c6c656374696f6e4974656d0b73756254797065446174614d5f027b22636f6c6f72223a2223383933346638222c22747261697473223a5b7b226e616d65223a2245646974696f6e222c2276616c7565223a224669727374222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2247656e65726174696f6e222c2276616c7565223a332c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a22536b696e222c2276616c7565223a22436c6173736963222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a224368616d70696f6e204e756d626572222c2276616c7565223a3439392c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224d616e6120436f7374222c2276616c7565223a352c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224162696c697479222c2276616c7565223a224f74686572776f726c646c79222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2245766f6c7574696f6e73222c2276616c7565223a22436f736d617261222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2243617264204964222c2276616c7565223a22343939222c22646973706c617954797065223a22737472696e67227d5d2c227261726974794c6162656c223a22436f6d6d6f6e222c22636f6c6c656374696f6e4964223a22353335613863653134373462396166303030386230643839353832333831643262626135666262383139303130393666656132623538383064313938376331365f30227d09726f79616c746965734c705b7b2274797065223a227061796d61696c222c2264657374696e6174696f6e223a2232363965366437312d393732622d343662382d383434332d323334663937306138386330407061792e6368616d70696f6e737463672e636f6d222c2270657263656e74616765223a302e30317d5d017c055349474d410342534d2131436f6f4d6568784a62766234434d6968755058417a32647a6b7979563643764d411f44e30307971564dbdc1319c3c02cd77627986a1724200e6758c74bcb01b099d840f609fe27cbc8050fbcc43caa6f8eebfc6e1cc7a98541c2bcae75cbec57b105013088f080498b87cd4233c9759dfb6a1f53825354d0418475b8919d17432e2a8f78080000006b483045022100fc25e678ef79773c48d49d4bed5c92158b79b1a0bea4bfd298bb581c851671420220652d287d549c3c4a04392d2ac8d50502433c3a3449aed8178e515c1afa707ef5412103ec48a60e051ca9ca32b642d0a50d08b153a9a98e3589b68378b0b5220ed75948ffffffff0100000000000000fda40476a9140975c6509bb79be7c7a58614ef6e76f085f5524a88ac0063036f72645109746578742f68746d6c004ca13c68746d6c3e3c626f6479207374796c653d22746578742d616c69676e3a63656e746572223e3c696d67207374796c653d226865696768743a3130302522207372633d222f636f6e74656e742f306431613066336339633730613134663666343334393231663035366239313036306330643439306239323262333239343266326536333038303135646237655f3022202f3e3c2f626f64793e3c2f68746d6c3e686a223150755161374b36324d694b43747373534c4b79316b683536575755374d7455523503534554036170701f4368616d70696f6e73206f66204f74686572776f726c646c79204d616769630474797065036f7264046e616d6507436f736d61726107737562547970650e636f6c6c656374696f6e4974656d0b73756254797065446174614d5f027b22636f6c6f72223a2223383933346638222c22747261697473223a5b7b226e616d65223a2245646974696f6e222c2276616c7565223a224669727374222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2247656e65726174696f6e222c2276616c7565223a332c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a22536b696e222c2276616c7565223a22436c6173736963222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a224368616d70696f6e204e756d626572222c2276616c7565223a3439392c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224d616e6120436f7374222c2276616c7565223a352c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224162696c697479222c2276616c7565223a224f74686572776f726c646c79222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2245766f6c7574696f6e73222c2276616c7565223a22436f736d617261222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2243617264204964222c2276616c7565223a22343939222c22646973706c617954797065223a22737472696e67227d5d2c227261726974794c6162656c223a22436f6d6d6f6e222c22636f6c6c656374696f6e4964223a22353335613863653134373462396166303030386230643839353832333831643262626135666262383139303130393666656132623538383064313938376331365f30227d09726f79616c746965734c705b7b2274797065223a227061796d61696c222c2264657374696e6174696f6e223a2232363965366437312d393732622d343662382d383434332d323334663937306138386330407061792e6368616d70696f6e737463672e636f6d222c2270657263656e74616765223a302e30317d5d017c055349474d410342534d2131436f6f4d6568784a62766234434d6968755058417a32647a6b7979563643764d411f44e30307971564dbdc1319c3c02cd77627986a1724200e6758c74bcb01b099d840f609fe27cbc8050fbcc43caa6f8eebfc6e1cc7a98541c2bcae75cbec57b10501306ab52434df6986a183d58a83a82c74e3131668961f8c4b2731c0b1d8dbe274ab050000006a4730440220105a9bef4f9236e463cb5abeca305d079417d561d3780e45d1f3d993bf7b2301022049a38da832cc711fb859afcc475ad93ed5e11c99d075ab69782d45b1195107f0412103ec48a60e051ca9ca32b642d0a50d08b153a9a98e3589b68378b0b5220ed75948ffffffff0100000000000000fda40476a9140975c6509bb79be7c7a58614ef6e76f085f5524a88ac0063036f72645109746578742f68746d6c004ca13c68746d6c3e3c626f6479207374796c653d22746578742d616c69676e3a63656e746572223e3c696d67207374796c653d226865696768743a3130302522207372633d222f636f6e74656e742f306431613066336339633730613134663666343334393231663035366239313036306330643439306239323262333239343266326536333038303135646237655f3022202f3e3c2f626f64793e3c2f68746d6c3e686a223150755161374b36324d694b43747373534c4b79316b683536575755374d7455523503534554036170701f4368616d70696f6e73206f66204f74686572776f726c646c79204d616769630474797065036f7264046e616d6507436f736d61726107737562547970650e636f6c6c656374696f6e4974656d0b73756254797065446174614d5f027b22636f6c6f72223a2223383933346638222c22747261697473223a5b7b226e616d65223a2245646974696f6e222c2276616c7565223a224669727374222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2247656e65726174696f6e222c2276616c7565223a332c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a22536b696e222c2276616c7565223a22436c6173736963222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a224368616d70696f6e204e756d626572222c2276616c7565223a3439392c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224d616e6120436f7374222c2276616c7565223a352c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224162696c697479222c2276616c7565223a224f74686572776f726c646c79222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2245766f6c7574696f6e73222c2276616c7565223a22436f736d617261222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2243617264204964222c2276616c7565223a22343939222c22646973706c617954797065223a22737472696e67227d5d2c227261726974794c6162656c223a22436f6d6d6f6e222c22636f6c6c656374696f6e4964223a22353335613863653134373462396166303030386230643839353832333831643262626135666262383139303130393666656132623538383064313938376331365f30227d09726f79616c746965734c705b7b2274797065223a227061796d61696c222c2264657374696e6174696f6e223a2232363965366437312d393732622d343662382d383434332d323334663937306138386330407061792e6368616d70696f6e737463672e636f6d222c2270657263656e74616765223a302e30317d5d017c055349474d410342534d2131436f6f4d6568784a62766234434d6968755058417a32647a6b7979563643764d4120b067112b8a5791efa193b3bb51743fef14790a1a04dc61a71d270cb28ec7c21b09a07a504eb45b646533eb7702bdac632c1a54e40dc80445de62427dd37aae7601306ab52434df6986a183d58a83a82c74e3131668961f8c4b2731c0b1d8dbe274ab070000006b4830450221008793ca84d6e205969ff285253d9a677e2ca86ec0295b0282ca0b6f13019b39ce0220338f631b8c9a5fe69b04fa02fdd1b1926a409c0a2a6734316f910f816462abfe412103ec48a60e051ca9ca32b642d0a50d08b153a9a98e3589b68378b0b5220ed75948ffffffff0100000000000000fda40476a9140975c6509bb79be7c7a58614ef6e76f085f5524a88ac0063036f72645109746578742f68746d6c004ca13c68746d6c3e3c626f6479207374796c653d22746578742d616c69676e3a63656e746572223e3c696d67207374796c653d226865696768743a3130302522207372633d222f636f6e74656e742f306431613066336339633730613134663666343334393231663035366239313036306330643439306239323262333239343266326536333038303135646237655f3022202f3e3c2f626f64793e3c2f68746d6c3e686a223150755161374b36324d694b43747373534c4b79316b683536575755374d7455523503534554036170701f4368616d70696f6e73206f66204f74686572776f726c646c79204d616769630474797065036f7264046e616d6507436f736d61726107737562547970650e636f6c6c656374696f6e4974656d0b73756254797065446174614d5f027b22636f6c6f72223a2223383933346638222c22747261697473223a5b7b226e616d65223a2245646974696f6e222c2276616c7565223a224669727374222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2247656e65726174696f6e222c2276616c7565223a332c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a22536b696e222c2276616c7565223a22436c6173736963222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a224368616d70696f6e204e756d626572222c2276616c7565223a3439392c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224d616e6120436f7374222c2276616c7565223a352c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224162696c697479222c2276616c7565223a224f74686572776f726c646c79222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2245766f6c7574696f6e73222c2276616c7565223a22436f736d617261222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2243617264204964222c2276616c7565223a22343939222c22646973706c617954797065223a22737472696e67227d5d2c227261726974794c6162656c223a22436f6d6d6f6e222c22636f6c6c656374696f6e4964223a22353335613863653134373462396166303030386230643839353832333831643262626135666262383139303130393666656132623538383064313938376331365f30227d09726f79616c746965734c705b7b2274797065223a227061796d61696c222c2264657374696e6174696f6e223a2232363965366437312d393732622d343662382d383434332d323334663937306138386330407061792e6368616d70696f6e737463672e636f6d222c2270657263656e74616765223a302e30317d5d017c055349474d410342534d2131436f6f4d6568784a62766234434d6968755058417a32647a6b7979563643764d4120b067112b8a5791efa193b3bb51743fef14790a1a04dc61a71d270cb28ec7c21b09a07a504eb45b646533eb7702bdac632c1a54e40dc80445de62427dd37aae7601307870217a017d00f9b7b75da5ec1c41a9cf405c4e4f149eeebd8a5543c19460d3050000006b483045022100c0428f27ee83fb09ab123af04b1fd37b750ff345b7e77e8d9f9272f061ae5db202204a10cb690df7712b089a516c2301641b1e56cc0c179def4a7f8671ff333b2a05412103ec48a60e051ca9ca32b642d0a50d08b153a9a98e3589b68378b0b5220ed75948ffffffff0100000000000000fda40476a9140975c6509bb79be7c7a58614ef6e76f085f5524a88ac0063036f72645109746578742f68746d6c004ca13c68746d6c3e3c626f6479207374796c653d22746578742d616c69676e3a63656e746572223e3c696d67207374796c653d226865696768743a3130302522207372633d222f636f6e74656e742f306431613066336339633730613134663666343334393231663035366239313036306330643439306239323262333239343266326536333038303135646237655f3022202f3e3c2f626f64793e3c2f68746d6c3e686a223150755161374b36324d694b43747373534c4b79316b683536575755374d7455523503534554036170701f4368616d70696f6e73206f66204f74686572776f726c646c79204d616769630474797065036f7264046e616d6507436f736d61726107737562547970650e636f6c6c656374696f6e4974656d0b73756254797065446174614d5f027b22636f6c6f72223a2223383933346638222c22747261697473223a5b7b226e616d65223a2245646974696f6e222c2276616c7565223a224669727374222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2247656e65726174696f6e222c2276616c7565223a332c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a22536b696e222c2276616c7565223a22436c6173736963222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a224368616d70696f6e204e756d626572222c2276616c7565223a3439392c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224d616e6120436f7374222c2276616c7565223a352c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224162696c697479222c2276616c7565223a224f74686572776f726c646c79222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2245766f6c7574696f6e73222c2276616c7565223a22436f736d617261222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2243617264204964222c2276616c7565223a22343939222c22646973706c617954797065223a22737472696e67227d5d2c227261726974794c6162656c223a22436f6d6d6f6e222c22636f6c6c656374696f6e4964223a22353335613863653134373462396166303030386230643839353832333831643262626135666262383139303130393666656132623538383064313938376331365f30227d09726f79616c746965734c705b7b2274797065223a227061796d61696c222c2264657374696e6174696f6e223a2232363965366437312d393732622d343662382d383434332d323334663937306138386330407061792e6368616d70696f6e737463672e636f6d222c2270657263656e74616765223a302e30317d5d017c055349474d410342534d2131436f6f4d6568784a62766234434d6968755058417a32647a6b7979563643764d411f1521b27ece8d8015824a17c4b60ce4fc14aaa42844bf9b77082385c9e58a9bc2335a3ff3d16c2a0306d63fa4cee5a5363cfe0cc88682f1bc0cd165ef14ab4a5301307870217a017d00f9b7b75da5ec1c41a9cf405c4e4f149eeebd8a5543c19460d3080000006b483045022100fb7e56a82c18077481ce1fab3e054dfc1eacbbd42be2e31e545c1172811cfe7202203f007d0e63d6f8f04e1d9b5a169266073d2d5caf5d1a327f69572df6daf7dfe7412103ec48a60e051ca9ca32b642d0a50d08b153a9a98e3589b68378b0b5220ed75948ffffffff0100000000000000fda40476a9140975c6509bb79be7c7a58614ef6e76f085f5524a88ac0063036f72645109746578742f68746d6c004ca13c68746d6c3e3c626f6479207374796c653d22746578742d616c69676e3a63656e746572223e3c696d67207374796c653d226865696768743a3130302522207372633d222f636f6e74656e742f306431613066336339633730613134663666343334393231663035366239313036306330643439306239323262333239343266326536333038303135646237655f3022202f3e3c2f626f64793e3c2f68746d6c3e686a223150755161374b36324d694b43747373534c4b79316b683536575755374d7455523503534554036170701f4368616d70696f6e73206f66204f74686572776f726c646c79204d616769630474797065036f7264046e616d6507436f736d61726107737562547970650e636f6c6c656374696f6e4974656d0b73756254797065446174614d5f027b22636f6c6f72223a2223383933346638222c22747261697473223a5b7b226e616d65223a2245646974696f6e222c2276616c7565223a224669727374222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2247656e65726174696f6e222c2276616c7565223a332c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a22536b696e222c2276616c7565223a22436c6173736963222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a224368616d70696f6e204e756d626572222c2276616c7565223a3439392c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224d616e6120436f7374222c2276616c7565223a352c22646973706c617954797065223a226e756d626572227d2c7b226e616d65223a224162696c697479222c2276616c7565223a224f74686572776f726c646c79222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2245766f6c7574696f6e73222c2276616c7565223a22436f736d617261222c22646973706c617954797065223a22737472696e67227d2c7b226e616d65223a2243617264204964222c2276616c7565223a22343939222c22646973706c617954797065223a22737472696e67227d5d2c227261726974794c6162656c223a22436f6d6d6f6e222c22636f6c6c656374696f6e4964223a22353335613863653134373462396166303030386230643839353832333831643262626135666262383139303130393666656132623538383064313938376331365f30227d09726f79616c746965734c705b7b2274797065223a227061796d61696c222c2264657374696e6174696f6e223a2232363965366437312d393732622d343662382d383434332d323334663937306138386330407061792e6368616d70696f6e737463672e636f6d222c2270657263656e74616765223a302e30317d5d017c055349474d410342534d2131436f6f4d6568784a62766234434d6968755058417a32647a6b7979563643764d411f1521b27ece8d8015824a17c4b60ce4fc14aaa42844bf9b77082385c9e58a9bc2335a3ff3d16c2a0306d63fa4cee5a5363cfe0cc88682f1bc0cd165ef14ab4a530130fa2812a11af5ba52921a829ad838776b27f5931c281609ec079ab5a72712be7c0d0000006b483045022100b40cd182aa67fe995e3b196ada597939011b0d6acb206d56b552f7dda93f74d30220561967c4c49bda03c88cf7a06cad866b0d1b09e4b515e281637d6e3f373d71fe412103ec48a60e051ca9ca32b642d0a50d08b153a9a98e3589b68378b0b5220ed75948ffffffff01000000000000001976a9140975c6509bb79be7c7a58614ef6e76f085f5524a88ac8868762afaa75ae8dd30a666cbc42675c871ecdb379c821fa4b233f4a290be00000000006a47304402206089aa434853ec386ca542c4114d40a8de143b3e235a8edd472fd4493a3c3728022028e8df12a25b7f97890c7408d016e4b3a3fbbe7bc08c2a632c5323cc320e5f37412103680fa32bd4d2ac16a8b0aa585af1d70d411a656f155d1c44c825453070adc197ffffffff0a0f0500000000001976a91481838d40669a5e091a2bf4a96da1f0d1fd0f4ce588ac01110f0500000000001976a91481838d40669a5e091a2bf4a96da1f0d1fd0f4ce588ac00000000

Some ARC features rely on a local node

There are some aspects of the functionality which rely on a local node, for example "REJECTED" status relying on a zmq message. Similarly - support for rawtx submissions require a local node to run a json-rpc lookup of the input to run script evaluation.

These features will remain in the ARC version designed for miners to run, but will be dropped from a forked version of this software moving into the future. This future fork is destined to become what will be called an overlay node, something which will not rely on local full node whatsoever. The reason this is being deferred is that current network peering logic within SV node does not keep consistent connections to non-block-producing nodes on the network. Not only that, but the specific implementation will likely be significantly different for use with Teranode, including things like IPv6 Multicast publishing for transactions.

We expect in future that there will be highly specialized versions of this software for specific transaction broadcasting requirements we have yet to imagine.

data.BlockHash can be nil, and this line blows up

BlockHash: data.BlockHash.String(),

        txn := &metamorph_api.Transaction{
		Txid:         data.Hash.String(),
		AnnouncedAt:  announcedAt,
		StoredAt:     storedAt,
		MinedAt:      minedAt,
		Status:       data.Status,
		BlockHeight:  data.BlockHeight,
		RejectReason: data.RejectReason,
		RawTx:        data.RawTx,
	}
	if data.BlockHash != nil {
		txn.BlockHash = data.BlockHash.String()
	}
        return txn, nil

BIP-239 Discussion?

BIP-239 appears to be proposal for a standard.

Is this proposal being formally raised? Is there a discussion taking place?

No License

Hey guys, I don't see a license in the repo, but I'd love to download and test this out. Can this be clarified? Thank you!

Broadcast timeout

Hello

What http status and TxStatus does the broadcast endpoint return if X-MaxTimeout is reached? Tried testing it by setting it to 1 or 0 but it doesnt seem to affect the duration. Basically what is the api going to return if it times out?

BlockTx Stores all Txids rather than just the ones it has been sent directly

The service is supposed to store all txids from a block so that when a submission comes in with a tx which has already been mined the correct status can be reported. However, there is no requirement in general for txids to be stored beyond those which the service has received from counterparties. This is a workaround for ensuring ARC's retry logic doesn't keep these submissions in an infinite retry loop just because the other nodes are ignoring the attmpted broadcast.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.