LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 使用Antic创建您的第一个智能联系人

使用Antic创建您的第一个智能联系人

2020-06-06 区块链社团员 来源:区块链网络

Antic是一种加密货币,增加了对以太坊智能合约的支持。让我们逐步介绍如何使用稳固性,混音和Antic控制台与之交互。可能有点难以理解,但请告诉我它的崩溃之处,我将进行更新!我通常会假设您知道以太坊如何处理智能合约,并尝试着重于差异。有一种更聪明的人可以编写与以太坊交互的更好的文档的方法,因此,如果这是一个新的起点,请从此处开始,然后返回Antic中的差异。

介绍

Antic是基于Java的加密货币。它使用权益证明共识,11个“验证器”节点,现在支持以太坊虚拟机(EVM)智能联系人(无论如何在其测试网络中)。他们声称> 166 TPS(与以太坊的?15 TPS相比),并且由于它们是新的网络,因此每张合约的价格也应更低。

我将从基础知识开始,但是如果您已经熟悉扎实性并编译为字节码,请跳过。

运行测试网

只需运行./Antic-gui.sh-network = testnet(两个连字符)。让它同步(大约需要2个小时),然后从交易中心得到一些Antic?。

坚固性

Solidity是用于智能联系人的编程语言。关于此主题的信息太多了,远远超出了此主题的范围,因此我们仅从其他人的代码:D开始。让我们以大家最喜欢的ERC-20令牌为例。

具体来说,示例ERC-20合同,以及有关将其修改为您自己的合同的教程。由于这是一个测试网,因此我很高兴出于演示的目的将随机的开放源代码从Internet上删除。

我们修改此代码以为其赋予唯一的名称,编辑地址以及我们要使其成为自己的其他任何变量。

但是,您要与之发布/交互的其他任何固体合同的一般流程应相似。您要获取坚固性代码,将其编译为字节码,然后将其部署到Antic区块链,然后在其上调用方法。

编译稳定性

我们采用可靠的源代码,然后重新混合粘贴我们的代码,替换默认的演示,选择“?0.4.24 + commit.e67f0147?”作为编译器版本,然后选择“?开始编译?”。

然后,我们从下拉列表中选择新令牌(不是Erc20Interface或其他任何类),然后单击“?字节码?”按钮,这会将我们的合同复制到剪贴板中

将此粘贴到文本编辑器中,发现乱码

{“ linkReferences”:{},“ object”:“ 608060405…”,“ opcodes”:“ PUSH1 0x80 PUSH1…”}

我们只想选择以608开头的“?对象?”中的内容。这就是我们的“合同”。让我们在其前面添加“ 0x”,现在为其添加0x608…我们这样做是为了eth / Antic,它是格式正确的十六进制字符串。

现在,我们必须将其放入Antic。他们在添加web3js支持方面存在一个开放性问题,这将使它变得更加标准,但是,还没有实现,因此我们需要使用其API或控制台。我将选择使用他们的控制台。

打开Antic应用程序,然后转到“?帮助” |“帮助”。控制台。通过键入“帮助”,我可以看到以下呼叫。

创建<来自> <值> <数据> <gasPrice> <gas> <fee> <nonce> <validateNonce>

好吧,这有点稀疏,但让我们弄清楚。

来自—您拥有的创建合同的地址。必须保持平衡。值—’0’不知道为什么会在这里?数据-您的合同,以0xgasPrice?为前缀-在测试网上,“ 1”的天然气成本显然很便宜。气—’1000000’这是一个很大的合同,所以请给它一些爱。费用-‘5000000’0.005 Antic,长格式。Antic称其为wei或satoshi。随机数-应该是可选的,但在控制台中是必需的,请参见下文了解如何找到validateNonce-嗯,“真”不确定是否重要

随机数

随机数只是您已发送的交易数。在控制台中,您可以通过键入’?getAccount <您的地址>?‘?找到它

> getAccount 0xebefc16b7c4d29224d67ced1e1400a1e8e024b9d

{“成功”:true,“消息”:“成功操作”,“结果”:{“地址”:“ 0xebefc16b7c4d29224d67ced1e1400a1e8e024b9d”,“可用”:“ 10000000000”,“锁定”:“ 0”,“立即”:“ 0”,“ transactionCount”:0,“ pendingTransactionCount”:0}}

太酷了,因此在这种情况下,我的现时值为0。看起来我很有钱!但这仅是10个Antic。

我喜欢在文本编辑器(记事本)中构造它,因此我可以更轻松地对其进行编辑,因此,在带有合同的粘贴文件中,让我们添加其他内容。它看起来像

创建0xebefc16b7c4d29224d67ced1e1400a1e8e024b9d 0 0x60806040523…giantstring 1 1000000 5000000 0是

将其粘贴到Antic控制台中,然后按Enter。运气好的话,你应该看到

{“成功”:true,“消息”:“成功操作”,“结果”:“ 0x2aec2fd2ef5a1309fd36ad2e2ed2303e9132fd9ad015fa0c6a5c1bd7039ed5dd”}

这意味着它现在应该在“交易”标签中显示为“待处理”。等待30秒。

好的,现在我们有了合同!查找“合同地址”与以太坊相同(源地址和随机数的某种哈希值),但是我们将采取捷径。如果我们双击交易中的create call,则“收件人”字段是我们的合同地址。在这种情况下,“?0xdf678702e40cc6daf1974d431b9bb573459e0306?”。

恭喜,您已经在区块链上创建了合同!

调用我们的合同

让我们将一些新的ERC-20硬币发送到另一个地址

在我们的Antic控制台窗口中寻求帮助

调用<从> <至> <值> <gasPrice> <gas> <fee> <nonce> <validateNonce> <data> <local>

描述参数:

从–我们的合同所有者,从第一次调用到–我们的新合同地址值–再次为0,我们没有发送气体价格– 1气体–呼叫量小得多,因此让我们尝试“ 50000”费用-“ 5000000”随机数-将是新的随机数,因为我上次的随机数为’0’,现在将为’1’validateNonce-“ true”数据-ABI调用,请参见下文local-“ false”这控制我们是进行交易,还是使用只读方法,例如getBalance()

ABI通话数据

在线上有很多关于此的信息。它与以太坊相同,因此让我们以简单的方式进行。这是另一个相当复杂的主题,但让我们简化一下。如果我们回到混音窗口…

转到“运行”选项卡,从下拉列表中选择我们的令牌,然后单击部署。

在“已部署的合同?”中,展开窗口,您可以看到可用的呼叫。让我们展开“?transfer?”并填写地址和令牌。我将把10000个TestToken发送到另一个地址。填写字段后,单击小工具箱图标,它将以下内容复制到我的剪贴板中

0xa9059cbb000000000000000000000000c1e6ceca4ccad20e59849cb7a9678394f7313000000000000000000000000000000000000000000000000000000000000000000000710710

您可以手动构建它们,但是使用web3js或remix网站更容易。这是我们的电话数据字段。

我们最终以

呼叫0xebefc16b7c4d29224d67ced1e1400a1e8e024b9d 0xdf678702e40cc6daf1974d431b9bb573459e0306 0 1 50000 5000000 1 true 0xa9059cbb000000000000000000000000000000837c1e6ceca4ccad20e59849c000000000000000000000000

我们将填写好的版本粘贴到控制台中,然后运行它。再次,我们看到成功和一笔未决的交易,一旦交易成功,我们就将资金转移到了一个新帐户中。

哇,这里有很多要讲的内容,但希望能给您一些想法,让他们知道如何使用主要是以太坊工具和偶尔的Antic控制台功能与Antic进行交互。我希望以后会更容易。

—-

编译者/作者:区块链社团员

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...