在以太坊和其他区块链中,仍有很多被证明的概念正在实施,开发人员在尝试如何应对这些新概念。作为dInvest 系列文章一部分,我也在研究以太坊并尝试在区块链中实施对冲基金。在上一篇文章中,我讨论了如何在python中启动和运行定量框架。在这篇文章中,我将介绍如何将python程序与以太坊智能合约集成。出于这样或那样的原因,可能也面临着这个问题,尽管以太坊提供了图灵完备语言,但并不是所有事情都能完成。
假设你已经在以太坊创建了一个简单的教程合约,现在想要看一些更高级的东西。我个人喜欢ManuelAráoz的Hitchhiker智能合约指南,以边可以开始使用更复杂的代码,设置testrpc
和truffle
。建议大家看看。
dInvest智能合约
dInvest由一份智能合约组成,负责进行投资,验证投资标准和回报分配。合约规定了公共职能部门,以创造新的投资和撤资,这将成为对冲基金的主要职能。对冲基金的用户通过其以太坊地址来识别,该地址相当于公钥。投资策略和策略执行的建议在具有以太坊地址的不同代理中完成。这些代理仅由合约创建者设置。当用户创建投资时,可以根据标准行业分类代码指定由两位数字标识的行业部门列表。在进行投资时,这些部门可以被确定为黑名单。因此,用户有能力控制对冲基金将投资的行业。
合同可以在the GitHub repo中找到。
与智能合约的互动
要与智能合约进行交互,有几个选项,包括RPC或JavaScript API。我发现与其他程序(如python程序)的以太坊智能合约进行交互的最简单方法是使用他们的web3 JavaScript API。因为dInvest的大部分都是用python编写的,所以我想坚持使用该语言而不是包含JS。幸运的是&#