Programming Bitcoin