验证Django中从一个地址到另一个地址的比特币转移

时间:2017-01-24 15:28:23

标签: django bitcoin

我有一个为个人提供销售平台的网站。每个人都用他的比特币地址登记,并且必须在每次交易后输入他的交易ID。 我的代码 -

public class TreeNode<T>
{
    private readonly T _value;
    private readonly List<TreeNode<T>> _children = new List<TreeNode<T>>();

    public TreeNode(T value)
    {
        _value = value;
    }

    public TreeNode<T> this[int i]
    {
        get { return _children[i]; }
    }

    public TreeNode<T> Parent { get; private set; }

    public T Value { get { return _value; } }

    public ReadOnlyCollection<TreeNode<T>> Children
    {
        get { return _children.AsReadOnly(); }
    }

    public TreeNode<T> AddChild(T value)
    {
        var node = new TreeNode<T>(value) {Parent = this};
        _children.Add(node);
        return node;
    }

    public TreeNode<T>[] AddChildren(params T[] values)
    {
        return values.Select(AddChild).ToArray();
    }

    public bool RemoveChild(TreeNode<T> node)
    {
        return _children.Remove(node);
    }

    public void Traverse(Action<T> action)
    {
        action(Value);
        foreach (var child in _children)
            child.Traverse(action);
    }

    public IEnumerable<T> Flatten()
    {
        return new[] {Value}.Union(_children.SelectMany(x => x.Flatten()));
    }
}

如果可以的话,我需要一个更好的解决方案

1 个答案:

答案 0 :(得分:2)

如果您自己运行numpy.tensordot,并且不依赖于blockchain.info的API,则可能会获得更好的结果。只需使用以下选项启动bitcoind

bitcoind

如果您已经与网络同步,则可能需要首次加入bitcoind -txindex -server 。 然后,您将能够使用JSON-RPC接口查询事务:

-reindex

更好的是,您可以使用python-bitcoinlib库来查询和解析事务,而不会出现bitcoin-cli getrawtransaction 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b

bitcoin-cli

这应该让您直接访问比特币区块链的本地副本,而不必信任blockchain.info,并且更快,更具可扩展性。