Aptos开发入门教程:创建资源(一)_APT:EST

原文作者:?magnum6

这是一个简单的内联单元测试,以确保我们的代码在编译和部署之前在基础层面上工作。第一行是编译器指令,指示下一个函数是一个测试:

#

它还为我们提供了创建签名者的能力,我们可以使用@0x1地址表示法将其传递给测试函数。我们调用?create_ticket?函数来创建并提供签名者座位号“K24”,票证代码为“AB43C7F”。b"string"是一个字符串文字运算符,它给我们创建一个向量。通过这个函数调用,我们创建了ConcertTicket并将其存储在地址0x1的收件人帐户中。

这是一个测试,所以我们必须确保它有效。我们使用函数?Signer::address_of?将“recipient”的地址存储在我们的变量recipient_addr中。然后我们可以使用?exists?来查看?ConcertTicket?资源是否实际存储在该地址。exists指令是另一个具有exists(address):bool接口的全局存储操作符。传入我们的类和我们正在检查的地址,会给我们一个关于该地址是否存在资源的true/false响应。

Aptos 推出 Move v1.4 和 v1.5 版本,更新包括扩展 Move 标准库等:8月2日消息,Aptos 推出 Move Framework v1.4 和 v1.5 版本,Aptos v1.4 扩展了 Move 标准库,更新包括添加了 FixedPoint64、各种数学函数(exp、log、mul_div 等)、字符串格式和额外的内联函数;在 v1.5 中,Aptos 将 Quorum Store 引入了主网,引入利用 Move 对象的新 Aptos 代币标准,对工具套件进行了改进,在每个节点中集成了对等监控服务等。Aptos 称此次更新旨在为 Aptos 性能增强、关键功能和生态系统发展做好准备。[2023/8/2 16:13:06]

最后,Assert!?是一个类似于宏的操作,可以让我们测试一个条件,条件不满足时将退出并返回错误代码。如果我敲了接近4,000字对你们这些超级大脑来说还不够,更多细节在这里:

Web3开发平台Moralis将集成至Aptos:1月18日消息,Web3 开发平台 Moralis 宣布将集成至 Aptos,参与 Aptos 的开发人员将能够使用 Moralis 符合国际标准的 Web3 应用程序接口(API),他们的操作将会变得更加便捷。据官方数据显示,Aptos 链上交易量已突破 7000 万笔,截止目前达到 71,391,253 笔,活跃质押量为 839,021,485 枚 APT。[2023/1/18 11:19:25]

AbortandAssert

在我们的测试中,我们使用?exists?函数来判断资源是否存在,表示测试成功。让我们运行那个测试。

在项目目录中打开一个终端并运行:

cargo?test

如果一切正常,你将得到以下输出:

Aptos域名项目apt ID:将停用 .apt 域名服务:金色财经报道,Aptos域名项目apt ID发推称表示,“由于Aptos团队最近收购了Aptos Names,并重新启动了对应版本的.apt域名,我们遗憾地做出了停用 .apt 域名服务的艰难决定”。

此外,apt ID表示这是为了尊重并继续支持Aptos的官方决定及其长期规划,而apt ID将过渡到新的规划,随后会公布相关信息。[2022/10/20 16:32:04]

Finished?test??target(s)?in?0.50s?????Running?unittests?(target/debug/deps/tutorial-6df2116825e4520d)running?1?testCACHED?MoveStdlibCACHED?CoreFrameworkCACHED?AptosFrameworkBUILDING?tutorialsRunning?Move?unit?tests?0xe110::Tickets::sender_can_create_ticketTest?result:?OK.?Total?tests:?1;?passed:?1;?failed:?0test?move_unit_tests::move_unit_tests?...?oktest?result:?ok.?1?passed;?0?failed;?0?ignored;?0?measured;?0?filtered?out;?finished?in?0.41s?????Running?unittests?(target/debug/deps/tutorial-b1774daddf2e13d8)running?0?teststest?result:?ok.?0?passed;?0?failed;?0?ignored;?0?measured;?0?filtered?out;?finished?in?0.00s???Doc-tests?tutorialrunning?0?teststest?result:?ok.?0?passed;?0?failed;?0?ignored;?0?measured;?0?filtered?out;?finished?in?0.00s

FTX上线Aptos(APT)现货市场:10月18日消息,FTX于10月19日01:00(UTC)上线Aptos(APT)现货市场,上线交易对为APT/USD、APT/USDT。APT充提开放时间为10月18日13:00(UTC)。

据悉,Aptos是由Aptos实验室开发的Layer-1权益证明区块链,该实验室由Diem区块链的核心贡献者所创立。Aptos因其在智能合约中使用Move语言而受到关注,以及其将交易传播和共识分离的模块化架构促使的高交易吞吐量。[2022/10/18 17:29:58]

我们的测试设置正在多个地方尝试测试,但我们现在只专注于第一个测试并且它通过了!为了确保这一点,让我们把测试中的函数调用注释去掉

//?create_ticket(&recipient,?b"A24",?b"AB43C7F");

Aptos CEO或将面临数十亿美元股权诉讼纠纷:5月20日消息,Shari Glazer就Aptos Labs价值数十亿美元的早期投资者股权份额对Aptos CEO Mo Shaikh提起诉讼。Shari Glazer和其公司Swoon Capital声称,Aptos的CEO Mo Shaikh实施的欺诈计划剥夺了她在区块链技术企业中合伙企业的合法份额。如果案件没有被驳回,这可能意味Aptos将面临旷日持久的法律诉讼程序。

此前消息,由Diem原团队成员成立的新公链项目Aptos,完成2亿美元战略融资,a16z领投,Tiger Global、Katie Haun、Multicoin Capital、Three Arrows Capital、FTX Ventures和Coinbase Ventures等参投。Aptos的目标是建立一个更具可扩展性的区块链,使用Move编程语言,旨在为数十亿用户提供服务,尽早满足大型企业客户的需求。(The Block)[2022/5/21 3:31:39]

并再次运行,得到这个输出:

Running?Move?unit?tests?0xe110::Tickets::sender_can_create_ticketTest?failures:Failures?in?0xe110::Tickets:┌──?sender_can_create_ticket?──────│?error:?test?failure│????┌─?/Users/culbrethw/Development/Tutorials/Tickets/sources/TicketTutorial.move:42:3│????││?36?│?????public(script)?fun?sender_can_create_ticket(recipient:?signer)?{│????│????????????????????????------------------------?In?this?function?in?0xe110::Tickets│????·│?42?│?????????assert!(exists(recipient_addr),?1);│????│?????????^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^?Test?was?not?expected?to?abort?but?it?aborted?with?1?here│?│?└──────────────────Test?result:?FAILED.?Total?tests:?1;?passed:?0;?failed:?1

这里显示失败!我们在错误消息中看到,Test不应该中止,但它在此处以1中止,其中with1是我们在?Assert!?失败时发出的错误代码。当然,有时我们希望测试在某些条件下失败,但我们的大脑需要看到全绿,以便我们知道一切都按计划进行。我们可以使用另一个编译器指令构建我们的测试,通过将我们的测试修改为:

##public(script)?fun?sender_can_create_ticket(recipient?:?signer)?{

其中?abort_code?是我们预期的错误。再次运行cargo测试,我们又回到了全绿:

Running?Move?unit?tests?0xe110::Tickets::sender_can_create_ticketTest?result:?OK.?Total?tests:?1;?passed:?1;?failed:?0test?move_unit_tests::move_unit_tests?...?ok

你可以在这里深入了解单元测试:UnitTestsdiem.github.io

本章节谈了很多理论,但这至关重要。在下一章节中,我们将深入研究代码,让Alice和Bob能够购买门票,甚至可以交易或出售这些门票,并确保每个人都能在演唱会上获得他们想要的座位。敬请关注!

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-0:615ms