You could definitely do that, and then by hand return all of the invalid funds and record which ones were valid into some sort of data store.
The goal here was to automate it like most smart contracts would do - sort of like an ERC20 token sale on ETH would.
I don't know that it specifically solves a problems though. It doesn't have to, it's an experiment and it was fun to write :)
Kudos to you for your work on steem-python, I've been enjoyin writing things like this in it!
You don't have to do anything by hand, you can just auto-refund invalid ones with a script.
Furthermore, if you want to have 2 accounts, you can pass references by including original deposit's
trx_id
, into a transfer's memo. Thus, you can move funds fromdonation
tocold
address without losing a reference to whom paid what.In any case, these solutions are off-chain, and I think that mimicking a smart contract is an engineering overkill.
The things you outlined are exactly what this does... ? It's a script that auto refunds and auto transfers.
These solutions can absolutely be off chain - which I also outlined in my post. I didn't want to setup a database for this experiment so I choose to store the data on chain. I even outlined that these should be stored in an external index for scalability.
Overkill is fun to do some times :)
I prefaced this whole thing stating this was an experiment and that I'm not even running the script for anything. I'm looking to spur discussion on how people could use the blockchain to accomplish fund raising, and provide some example scripts that might get peoples brains thinking. Nothin more!