In this post I outlined an algorithm adapted for cross-chain atomic swaps (#xcas) between chains that is Hive-like and one that is Bitcoin like. These should work for HBD and BTC.
In order to avoid pasting private keys into a website which is a no-no. We should extend the KeyChain, Hive Signer or some other kind signing utility you can use with the web.
See this link for Hive Keychain https://github.com/hive-keychain/hive-keychain-extension#usage. With the app you limit your trust to the codebase of this but for this work we have to fork this trusted software because we will be doing things not supported by keychain these days.
Now bitcoin-lib.js (https://github.com/bitcoinjs/bitcoinjs-lib) and d-hive.js (https://gitlab.syncad.com/hive/dhive) are required for interacting with the BTC Bitcoin and Hive blockchains respectively. The earlier library allows you to do arbitrary bitcoin scripts.
We are stuck pasting in keys without an extension like Hive-keychain for the Bitcoin network. The Hive-keychain could be expanded way beyond its scope to also work with the bitcoin chain.
Because hive transactions expire so quickly we need a way to store the transactions and then broadcast them at the proper
times. A centralized service can be used for this without exposing keys. This service needs to be invented though.
Firstly for the development environment, I need bitcoind-core and hived so we can create dummy one - node testnets for testing.
On the other hand, you could go the route of a native application and write the thing in Python or C++. I never get link errors when using only Python.