import ecc
import helper
import tx
import script
---
example1
---
example2
---
example3
---
example4
---
exercise1:tx:TxTest:test_sig_hash
---
exercise2:tx:TxTest:test_verify_p2pkh
---
example5
---
example6
---
example7
---
exercise3:tx:TxTest:test_sign_input
---
exercise4:
from ecc import PrivateKey
from helper import decode_base58, SIGHASH_ALL
from script import p2pkh_script, Script
from tx import TxIn, TxOut, Tx

# utwórz 1 TxIn i 2 TxOut
# 1 z tych dwóch TxOut powinno trafić na Twój adres
# Drugie TxOut powinno trafić na ten adres
target_address = 'mwJn1YPMq7y5F8J3LkC5Hxg9PHyZ5K4cFv'

# Klucz prywatny weź z ćwiczenia w rozdziale 4.
# adres dla reszty powinien być adresem wygenerowanym w rozdziale 4.

# prev_tx i prev_index weź z transakcji,
# w której dostałeś trochę monet testnetowych
# Utwórz wejście transakcyjne dla poprzedniej transakcji,
# używając domyślnego ScriptSig i nr porządkowego

# Kwota docelowa powinna być równa 60% kwoty wyjścia
# Wyznacz opłatę w rozsądnej kwocie
# Kwota reszty = kwota z poprzedniej tx - kwota docelowa - opłata

# Utwórz wyjście transakcyjne dla kwoty docelowej i adresu
# Utwórz wyjście transakcyjne dla kwoty reszty i adresu
# Utwórz obiekt transakcji

# Podpisz jedno wejście w obiekcie transakcji za pomocą klucza prywatnego
# Wydrukuj serializację transakcji szesnastkowo
# Roześlij, wysyłając do http://testnet.blockchain.info/pushtx
---
exercise5:
from ecc import PrivateKey
from helper import decode_base58, SIGHASH_ALL
from script import p2pkh_script, Script
from tx import TxIn, TxOut, Tx

# Utwórz 2 TxIn, jedno z ćwiczenia nr 4 i jedno ze źródła testnetowego
# Utwórz 1 TxOut na powyższy adres
target_address = 'mwJn1YPMq7y5F8J3LkC5Hxg9PHyZ5K4cFv'

# Klucz prywatny weź z ćwiczenia w rozdziale 4.

# prev_tx i prev_index weź z transakcji,
# w której dostałeś trochę monet testnetowych
# Utwórz pierwsze wejście transakcyjne,
# używając domyślnego ScriptSig i nr porządkowego;
# prev_tx i prev_index weź z transakcji z ćwiczenia 4
# Utwórz drugie wejście transakcyjne,
# używając domyślnego ScriptSig i nr porządkowego

# Wyznacz opłatę w rozsądnej kwocie
# Kwota docelowa powinna być sumą wejść - opłata

# Utwórz wyjście transakcyjne dla tej kwoty i dla adresu

# Podpisz pierwsze wejście za pomocą klucza prywatnego
# Podpisz drugie wejście za pomocą klucza prywatnego
# Wydrukuj serializację transakcji szesnastkowo
# Roześlij, wysyłając do http://testnet.blockchain.info/pushtx

