A domain-specific language to write Bitcoin transactions, based on the paper A formal model of Bitcoin transactions presented at Financial Cryptography and Data Security 2018.
Try the online editor http://blockchain.unica.it/btm/.
- clone the repository
- install some maven dependency
- symbolic links
- compile
git clone https://github.com/bitcoin-transaction-model/bitcoin-transaction-model.git
Install a customized version of bitcoinj (segwit branch) into your local maven repository:
git clone https://github.com/natzei/bitcoinj.git
cd bitcoinj
git checkout lib
mvn install -DskipTests
cd ..
git clone https://github.com/natzei/BitcoindConnector4J.git
cd BitcoindConnector4J
gradle install
cd ..
cd bitcoin-transaction-model/it.unica.tcs.bitcointm
ln -s ../it.unica.tcs.bitcointm.lib/target/it.unica.tcs.bitcointm.lib-0.0.1-bundled.jar
cd bitcoin-transaction-model/it.unica.tcs.bitcointm.ui
ln -s ../it.unica.tcs.bitcointm.lib/target/it.unica.tcs.bitcointm.lib-0.0.1-bundled.jar
cd bitcoin-transaction-model/it.unica.tcs.bitcointm.parent/
mvn install
The project is currently developed using Eclipse Xtext.