作为区块生产者对社区利益承诺的一部分,我们希望专注于构建有助于提高EOS平台采用率的工具/应用程序。与大多数大型应用程序一样,当您的文档很少或过时并且缺乏帮助您入门的工具时,进入门槛可能很高。为了给刚入门的EOS开发者节省一些时间,我们编写了一个PHPSDK,它涵盖了EOS的大部分API方法。在文档中,每个调用都有一些示例以及API的实际输出。无论您是否使用PHP,我们都希望这将成为开始构建您的第一个应用程序的有用参考点,或者只是了解EOS区块链API必须提供的内容。您可以查看官方EOS文档,但请注意缺少一些较新的方法。此外,这些文档中的一些示例使用了过时的语法。安装composerrequireblock-matrix-network/php-eos-rpc-sdksetup使用您喜欢的RPCAPI主机在项目根目录中创建一个dotenv.env文件。您可以使用.env.example作为模板:cp.env.example.env用法有一个工厂方法来自动实例化所有依赖项:$api=(newChainFactory)->api();示例为了帮助您入门,这里有一个涵盖所有API命令的简单示例运行程序。只需通过cli运行此命令即可查看所有命令的示例输出:cdexamplesphpchain.phpAPI方法涵盖所有??只读EOS区块链API方法。下面是几个例子:getInfo获取信息获取节点相关的最新信息。echo$api->getInfo();{"server_version":"db031363",??"chain_id":"aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906","head_block_num":1380988,"last_irreversible_block_num":1380657,"last_irreversible_block_id":"0015113163cbe7676c4e56d1758a1ce95e47fa645827b9202de5753031d36b8b","head_block_id":"0015127c94676db3da55ec66210952db7f4db35b0e731abefff1562c201a0666","head_block_time":"2018-06-18T15:38:45.000","head_block_producer":"eoscannonchn","virtual_block_cpu_limit":200000000,"virtual_block_net_limit":1048576000,"block_cpu_limit":199900,"block_net_limit":1048576}getBlock获取区块信息获取与区块相关的信息。echo$api->getBlock("1337");,"transaction_mroot":"0000000000000000000000000000000000000000000000000000000000000000","action_mroot":"bcb9763baa3bbf98ed36379b4be0ecb2d9cd21c75df01729c63b2b021001c10c","schedule_version":0,"new_producers":null,"header_extensions":[],"producer_signature":"SIG_K1_K5jWf36t6j454Hb2fGuV37YTwMTvuQ51ZPBtpru8Ud2axtMTEauWyvtpJuTpnvqzReUndDgEDXvoeEP4jdj2bpnYKBt6g2","transactions":[],"block_extensions":[],"id":"00000539d17a03af7126e073be4c4d99a72b7f58793cf2c87b9bfd41b6c711fb","block_num":1337,"ref_block_prefix":1944069745}获取智能合约代码获取代码。echo$api->getCode("eosio.token");{"account_name":"eosio.token","code_hash":"3e0cf4172ab025f9fff5f1db11ee8a34d44779492e1d668ae1dc2d129e865348","wast":"(模块\n(type$0(func(parami32i64i32)))\n(输入$1(func(parami32i64i64i32i32))))\n(输入$2(func(parami32i64i32i32)))\n(输入$3(func))\n(输入$4(func(resulti64)))\n(输入$5(func(parami64i64)))\n(输入$6(func(parami64)))\n(输入$7(func(parami32i32)))\n(类型$8(func(参数i64i64i64i64)(结果i32)))\n(类型$9(func(参数i64i64i64i64i32i32)(结果i32)))\n(类型$10(func(parami32i32i32)(resulti32)))\n(输入$11(func(parami64)(resulti32)))\n(输入$12(func(parami32)))\n(输入$13(func(结果i32)))\n(类型$14(func(parami32i32)(resulti32)))\n(类型$15(func(parami32)(resulti32)))\n(类型$16(func(parami32i32i32i32)))\n(输入$17(func(parami32i64i32i64)))\n(输入$18(func(parami64i64i32i32)))\n(键入$19(func(parami32i64i32)(resulti32)))\n(键入$20(func(parami64i64i64)))\n(导入\"env\"\"abort\"(func$23))\n(import\"env\"\"action_data_size\"(func$24(resulti32)))\n(import\"env\"\"current_receiver\"(func$25(resulti64)))\n(import\"env\"\"current_time\"(func$26(resulti64)))\n(import\"env\"\"db_find_i64\"(func$27(参数i64i64i64i64)(结果i32)))\n......(导出\"_ZN5eosio5token5issueEyNS_5assetENSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE\"(函数$51))\n(导出\"_ZN5eosio5token11add_futEyNS_5)$asset\balanceEyNS.5".........$block2\nget_local$3\ni32.const12\ni32.add\ntee_local$3\nget_local$1\ni32.lt_u\nbr_if$loop\nend;;$循环\n结束;;$block1\n返回\n结束;;$block\nget_local$0\ni32.const-4\ni32.add\ntee_local$3\nget_local$3\ni32.load\ni32.const2147483647\ni32.and\ni32.store\n)\n\n(func$87\nunreachable\n))","wasm":"","abi":{"version":"eosio::abi\/1.0","types":[{"new_type_name":"account_name","type":"name"}],"structs":[{"name":"transfer","base":"","fields":[{"name":"from","type":"account_name"},{"name":"to","type":"account_name"},{"name":"quantity","type":"asset"},{"name":"memo","type":"string"}]},{"name":"create","base":"","fields":[{"name":"issuer","type":"account_name"},{"name":"maximum_supply","type":"asset"}]},{"name":"issue","base":"","fields":[{"name":"to","type":"account_name"},{"name":"数量","type":"资产"},{"name":"备忘录","type":"字符串"}]},{"name":"account","base":"","fields":[{"name":"balance","type":"asset"}]},{"name":"currency_stats","base":"","fields":[{"name":"supply","type":"asset"},{"name":"max_supply","type":"asset"},{"name":"issuer","type":"account_name"}]}],"actions":[{"name":"transfer","type":"transfer","ricardian_contract":"##TransferTerms&Conditions\n\n我,{{from}},证明以下内容据我所知是真实的:\n\n1。我证明{{quantity}}不是欺诈或暴力活动的收益。\n2.我证明,据我所知,{{to}}不支持对他人发起暴力。\n3.我已向{{to}}披露与{{quantity}}相关的任何合同条款和条件。\n\n我了解资金转账在{{transaction.delay}}秒或配置的其他延迟后不可撤销{{from}}的权限。\n\n如果在从“{{to}}”收到商品或服务后无法确认此操作,我同意退回商品或服务或重新发送{{quantity}}及时。\n"},{"name":"issue","type":"issue","ricardian_contract":""},{"name":"create","type":"create","李嘉图合约":""}],"tables":[{"name":"accounts","index_type":"i64","key_names":["currency"],"key_types":["uint64"],"type":"account"},{"name":"stat","index_type":"i64","key_names":["currency"],"key_types":["uint64"],"type":"currency_stats"}],"ricardian_clauses":[],"error_messages":[],"abi_extensions":[]}}GetCurrencyBalance获取账户的货币余额echo$api->getCurrencyBalance("eosio.token","eosdacserver");["2453.2054EOS"]测试要运行测试套件,只需执行:vendor/bin/phpunit在github存储库上查看更多信息。分享一些与以太坊、EOS、比特币等区块链相关的交互式在线编程实战教程:EOSTutorial,本课程帮助您快速上手EOS区块链上的去中心化应用开发,涵盖EOS工具链、账户和核心知识点等钱包、代币发行、智能合约开发部署、代码使用与智能合约交互等,最终运用全部知识点完成一个笔记DApp的开发。PHPEthereum主要介绍使用PHP进行智能合约开发交互、账户创建、交易、转账、代币开发、过滤器和交易等。Php比特币开发教程,本课程面向初学者,内容涵盖了比特币的核心概念,如区块链存储、去中心化共识机制、密钥和脚本、交易和UTXO等,还详细讲解了如何使用Php在代码中集成比特币支持功能,如创建地址、管理钱包、构造裸交易等.,是Php工程师不可多得的比特币开发学习教程。汇智网原创翻译,转载请注明出处。这是一个EOS区块链RPCAPI接口的原始PHPSDK包
