Harmony BTC-Relay Spec
v0.1.0
Introduction
BTC-Relay at a Glance
BTC-Relay Architecture
Bitcoin Data Model
Accepted Bitcoin Transaction Format
Specification
Data Model
Functions: Storage and Verification
Functions: Utils
Functions: Parser
Events
Error Codes
Security and Performance
Security Analysis
Performance and Costs
All the rest
License
Interlay
Harmony BTC-Relay Spec
»
Welcome to the Harmony BTC-Relay documentation!
View page source
Welcome to the Harmony BTC-Relay documentation!
ΒΆ
Introduction
BTC-Relay at a Glance
Overview
How to Use this Document
BTC-Relay Architecture
Actors
Components
Bitcoin Data Model
Block Headers
Transactions
Inputs
Outputs
Accepted Bitcoin Transaction Format
Case 1: OP_RETURN Transactions
Case 2: Regular P2PKH / P2WPKH / P2SH / P2WSH Transactions
Specification
Data Model
Types
Constants
Structs
Data Structures
Functions: Storage and Verification
initialize
storeBlockHeader
checkAndDoReorg
verifyBlockHeader
verifyTransactionInclusion
validateTransaction
verifyAndValidateTransaction
flagBlockError
clearBlockError
Functions: Utils
sha256d
concatSha256d
nBitsToTarget
checkCorrectTarget
computeNewTarget
computeMerkle
calculateDifficulty
getForkIdByBlockHash
incrementChainCounter
Functions: Parser
Block Header
Transactions
Events
Initialized
StoreMainChainHeader
StoreForkHeader
ChainReorg
VerifyTransactionInclusion
ValidateTransaction
Error Codes
Security and Performance
Security Analysis
Security Parameter
k
Liveness Failures
Safety Failures
Hard and Soft forks
Performance and Costs
Estimation of Storage Costs
BTC-Relay Optimizations
All the rest
License
Interlay