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/balzac/.
- clone the repository
- install some maven dependency
- symbolic links
- compile
git clone https://github.com/balzac-lang/balzac.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
git checkout release-0.16
gradle install
cd ..
mvn -f it.unica.tcs.bitcointm.parent/ clean install
In order to locally run the server (same of http://blockchain.unica.it/btm/):
mvn -f it.unica.tcs.bitcointm.web/ jetty:run
The project is currently developed using Eclipse Xtext, version 2.12.
Install Xsemantics 2.12 (update site).
Optional: install Jacoco (see http://www.eclemma.org/installation.html).