讲解在上一篇文章中,我写出了关于用于Eclipse从Java调用部署了区块链的智能合约的信息。本教程将展出如何必要从Android研发环境-Android Studio中调用智能合约。区块链研究实验室|用于Java与区块链智能合约展开交互环境拒绝我们将用于Tezos区块链。为了使我们的Android java代码与现有的、部署的智能合约交互,我们必须用于TezosRio的TeZOSJ库。
这个库有两个版本,一个是专门为用于EclipseIDE制作的标准化Java应用程序撰写的(TezosjPlainJava),另一个是用作Android应用于程序开发的(TezosjSDK),我们将在这里用于它。我们不必须iTunes整个库的源代码。我们只需在build.gradle文件的dependencies部分放入一行代码,就可以了。
作为我们的研发IDE,Android工作室将是我们的自由选择。目标我们要调用的智能合约是一个非常简单的客户基础登记,可以在以下地址的Tezos testnet上寻找部署:KT18pK2MGrnTZqyTafUe1sWp2ubJ75eYT86t您可以通过Tezblock之类的Tezos区块浏览器之一精彩查阅智能合约的详细信息,或通过用于Better-call.dev工具。不过另一种自由选择是检查与SmartPy区块浏览器网页智能合约。
忘记要登录一个testnet https://tezos-dev.cryptonomic-infra.tech.我们的智能合约称作“客户”,它具备四个入口点(或方法):addCustomer,removeCustomer,transfer和updateBalance。基本上,放入,移除,移往资金和改版。没什么漂亮的。这是仅有为教育目的而创立的。
它的起到是在Tezos区块链的存储中确保一个“客户”列表。智能合约调用TezosJ有可能是当今调用Tezos智能合约的最简单方法之一。基本上,我们的调用可以通过一个命令已完成:JSONObject jsonObject = wallet.callContractEntryPoint(wallet.getPublicKeyHash(), "KT18pK2MGrnTZqyTafUe1sWp2ubJ75eYT86t",amount, fee, "", "", "addCustomer",new String[]{"1000000", "123456789","Bob","98769985"});上面的代码将一个新的客户Bob的余额加10ꜩ,其ID为123456789,电话号码为98769985。
这是通过调用callContractEntryPoint方法已完成的,该方法基本上必须与普通的Tezos .send()方法完全相同的参数,但有一些额外的参数:ContractEntryPoint名称,以及一个包括预期entrypoint参数的字符串数组(在展开调用之前应当告诉这些参数)。如果您还没已完成,请求iTunes并加装Android Studio。
关上它,第一步是创立一个新的Android Studio项目,如下右图:自由选择手机和平板电脑作为您的项目类型,然后单击Empty Activity:将项目命名为smartContractCall并将Language更加改回Java。然后,单击已完成:我们要做到的第一件事就是指AndroidManifest.xml文件中的application标记中移除android:allowBackup =“ true”。
这很关键,网卓新闻网,如果我们跳过这一步,TezosJ_SDK将不起作用:现在是时候将TezosJ_SDK加到到我们的项目中了。关上您的build.gradle(Module: app)文件。并转到倚赖项部分,然后加到:构建‘com.milfont.tezos:tezosj_android:0.9.998’。
然后,单击立刻实时(在窗口的右上角):关于配备,我们差不多已完成了。最后一步是在同一文件中将minSdkVersion更加改回26。
然后,再度实时:仅有做完了! 现在我们早已准备好一切,让我们首先建构一个Tezos钱包。在MainActivity文件的onCreate方法上,摆放一个如下右图的声明(不要记得try-catch块):现在加到一些Logcat输入,以检查否顺利创立了我们的钱包。
我们将打印机有关此信息:钱包的公钥哈希(Tezos地址),其助记词和当前余额:加到Log.。
本文来源:球速体育-www.zhuaistar.com
16341786333