\ Define contract parties' addresses
"1BuyerAddress" constant buyer_address
"1SellerAddress" constant seller_address
"1EscrowAddress" constant escrow_address
\ Define contract terms
1.0 constant btc_amount \ Bitcoin amount in contract
0.0001 constant btc_fee \ Bitcoin fee
100000 constant lock_time \ Lock time in blocks (assuming ~10 minutes/block)
\ Create the refund transaction
[
[
buyer_address btc_amount (buyer_address) "checksig"
] [
seller_address 0 (seller_address) "checksig"
]
[[buyer_address] btc_fee "checkmultisig"]
lock_time (locktime)
]
3 constant refund_tx
\ Create the escrow transaction
[
[
seller_address btc_amount (seller_address) "checksig"
] [
escrow_address 0 (escrow_address) "checksig"
]
[]
lock_time (locktime)
]
3 constant escrow_tx
\ Create both transactions' signatures
[
refund_tx 0
[
2 buyer_address seller_address escrow_address "checkmultisig"
]
"multisign"
]
3 constant refund_sig
[
escrow_tx 0
[
2 buyer_address seller_address escrow_address "checkmultisig"
]
"multisign"
]
3 constant escrow_sig
\ Finalize the transactions by adding signatures
[
refund_tx 0 refund_sig
"apply_multisignatures"
]
3 constant finalized_refund_tx
[
escrow_tx 0 escrow_sig
"apply_multisignatures"
]
3 constant finalized_escrow_tx
\ Encode the transactions to hex format
[
finalized_refund_tx
"tx_to_hex"
]
3 constant refund_hex
[
finalized_escrow_tx
"tx_to_hex"
]
3 constant escrow_hex
[ CR ]
refund_hex .
"Refund Transaction Hex:"
print
[ CR ]
escrow_hex .
"Escrow Transaction Hex:"
print