Mitigating software engineering costs in distributed ledger technologies