用于接收加密货币付款的django应用程序。
django-cryptocurrency-framework的Python项目详细描述
django加密货币框架
简介
Django应用程序,可以停止以加密货币实现付款接收。
该项目目前正在积极开发中。但在这一刻,它可以在创建比特币钱包或其他使用比特币支付的应用程序的任务中提供很大便利。
要求
- bitcoin-core
- 按您的喜好排班或排队
安装
git clone git@github.com:HelloCreepy/django-cryptocurrency-framework.git
cd django-cryptocurrency-framework
pip install .
示例
首先需要安装bitcoin-core
并允许rpc访问。
接下来在项目设置中添加一个引用,并为bitcoin-core
节点响应设置超时。
INSTALLED_APPS=[...'cryptocurrency.blockchains']...# Cryptocurrency framework setting CC_FRAMEWORK={'NODE_TIMEOUT':5,}
然后创建一个Currency
和Node
对象。
>>>fromcryptocurrency.blockchainsimportmodels>>>currency=models.Currency.objects.create(...name='BTC',...min_confirmations=2,)>>>models.Node.objects.create(...name='bitcoin-core',...currency=currency,...rpc_username='username',...rpc_password='password',...rpc_host='127.0.0.1',...rpc_port=18332,...)<Node:bitcoin-core>
值得澄清的是,如果框架不支持对应的加密货币或节点,则不能创建“node”或“currency”对象。为了发现支持的东西,您可以执行下面的代码。
>>>fromcryptocurrency.blockchainsimportconnectors>>>connectors.registry.available_currencies{'BTC'}>>>connectors.registry.available_nodes{'bitcoin-core'}
现在你准备好接受付款了。用于获取新事务调用process_receipts
方法或执行一个管理命令。
>>>models.Node.objects.process_receipts()
$ python manage.py process_receipts
此方法或命令一从每个节点对象获取接收事务并将其写入数据库。如果事务的构象数大于tx.node.currency.min_conformations
,则每个事务都将获得状态tx.is_confirmed == True
,在我们的例子中是2。
您可以使用任何作业调度程序或队列(芹菜、crontab等),它们将根据需要经常检查您的节点。
使用Celery
的示例可以在这个repo example目录中找到。
未来功能
- 用于:ETH等、DASH、BCHABC、BCHSV、LTC等的连接器
cryptocurrency.blockchain
帮助实现多加密货币钱包的应用程序