快速入门

概述

想开发一款树莓派应用吗?请查看以下步骤,了解如何在树莓派上进行设置和开发。

创建树莓派应用主要分为三个部分:1)通过树莓派浏览器开发者门户在您的设备上创建和配置树莓派应用;2)使用您想要使用的任何 Web 应用开发框架创建一个 Web 应用;3)将您的树莓派应用外壳与您的 Web 应用集成。

第一步:获取 Pi Mining 应用并注册账号

在进行任何其他操作之前,您需要安装 Pi Mining 应用程序。

Google Play 商店:https://play.google.com/store/apps/details?id=com.blockchainvault,或

App Store:https://itunes.apple.com/us/app/pi-network/id1445472541

步骤二:获取树莓派浏览器并登录

接下来,您需要下载 Pi 浏览器,这是一款移动网络浏览器,可让您访问所有使用 Pi SDK 构建的应用程序。

Google Play 商店:https://play.google.com/store/apps/details?id=pi.browser

Apple App Store:https://apps.apple.com/us/app/pi-browser/id1560911608

请观看我们的视频教程,学习如何完成此操作。

步骤 3:登录开发者门户

使用 Pi 浏览器访问 Pi 开发者门户。在 Pi 浏览器中,访问 pi://develop.pinet.com 即可进入 Pi 开发者门户。或者,您也可以直接点击 Pi 浏览器主页上的“开发”菜单图标。

要注册新应用,请点击“新建应用”按钮。要查看已创建应用的信息,请点击该应用的图标。这将带您进入应用的仪表盘页面,您可以在其中查看和编辑信息。

第四步:注册您的应用

请填写必填项。

“应用名称”栏中填写的内容将决定应用的网址,因此我们建议只使用字母、数字和空格,不要使用特殊字符。

在“描述”部分,请提供有关您的应用程序的功能、用途以及一些主要功能的信息。

“应用网络”选项允许您选择应用连接的主机网络。务必选择您希望部署到的网络(Pi 主网或 Pi 测试网),因为 Pi SDK 会自动将您的应用连接到相应的网络。注意:一个应用一次只能连接到一个网络,并且一旦注册了应用,此选项将无法更改。

步骤 5:获取您的 API 密钥

在开发者门户的项目应用控制面板底部,您可以看到一个名为“API密钥”的部分。作为应用开发者,您需要使用此密钥才能访问Pi后端。请妥善保管!任何拥有此密钥的人都可以冒充您。

步骤 6:完成(大部分)开发者门户清单

注册应用后,您可以通过应用自带的“应用清单”查看应用的各项详细信息,该清单可帮助您跟踪成功设置应用所需的步骤。要查看清单,请点击应用控制面板上的“应用清单”按钮。

步骤 7:将 Pi 集成到您的应用程序中

Pi SDK 是一个 JavaScript 代码,需要添加到您的网页中。首先,调用 SDK。将以下代码添加到网页的 `<head>` 标签内:

<script src="https://sdk.minepi.com/pi-sdk.js"></script>
<script> Pi.init({ version: "2.0", sandbox: true }) </script>

接下来,验证用户身份。将以下代码添加到页面的 <head> 标签中:

<script> 
        // Authenticate the user, and get permission to request payments from them
        const scopes = ['payments','username'];

        // Read more about this callback in the SDK reference:
        function onIncompletePaymentFound(payment) { 
            console.log('incomplete payment found')
            paymentId = payment.identifier
            txid = payment.transaction.txid
            $.post('/payment/complete',
                    {
                        paymentId: paymentId,
                        txid: txid,
                        debug: 'cancel'
                    }
                )
        };
        Pi.authenticate(scopes, onIncompletePaymentFound).then(function(auth) {
          console.log(`Hi there! You're ready to make payments!`)
          const accessToken = auth.accessToken
        }).catch(function(error) {
          console.error(error);
        });
</script>

这段代码中的 `onIncompletePaymentFound` 函数会处理来自此已认证用户的任何待处理付款。您可以选择如何处理付款:取消、完成或其他操作。请继续阅读。

步骤 8:处理付款

最后——是时候处理支付了!支付分为四个步骤。本节包含您需要的所有信息,但了解每个步骤将有助于您构建更复杂的应用程序。要了解每个步骤,请点击此处。

步骤 8a:创建付款

使用 Pi SDK 中的 createPayment 函数。此函数接受两个参数:一个 paymentData 对象(包含待支付金额、用户备注以及供您自己使用的元数据)和一个回调函数对象。

const paymentData = {
    amount: number,  /* Pi Amount being Transacted */
    memo: string, /* "Any information that you want to add to payment" */
    metadata: object {}, /* { Special Information: 1234, ... } */
};

// Callbacks the developer needs to implement:
const paymentCallbacks = {
    onReadyForServerApproval,
    onReadyForServerCompletion,
    onCancel,
    onError
    };

Pi.createPayment(paymentData, paymentCallbacks).then(function(payment) {
    console.log(payment)
  }).catch(function(error) {
    console.error(error);
  });

步骤 8b:服务器端审批

当支付 ID 准备就绪时,将调用 onReadyForServerApproval 函数。您的应用需要将支付 ID 和其他相关数据传递给应用后端。然后,应将支付 ID 共享给 Pi API 端点,/payments/approve’以表明应用已准备好进行支付。

const onReadyForServerApproval = (paymentId) => {
    console.log("onReadyForServerApproval", paymentId);
    axiosClient.post('/payments/approve', {paymentId}, config);
  }

步骤 8c:用户交互和区块链交易

Pi 浏览器向用户显示付款详情页面,我们正在等待用户签署交易。

步骤 8d:服务器端完成

在区块链交易提交到 Pi 区块链后,会调用 `onReadyForServerCompletion` 函数。此时,你需要将所有相关数据传递给你的应用服务器。在你的服务器上,你可以验证付款并交付为用户预留的物品。最后,你应该通知 Pi 服务器你已收到付款并交付了物品,从而完成支付。

  const onReadyForServerCompletion = (paymentId, txid) => {
    console.log("onReadyForServerCompletion", paymentId, txid);
    axiosClient.post('/payments/complete', {paymentId, txid}, config);
  }

请注意,这些步骤的实际执行将取决于您的具体应用程序和服务器设置。此外,请务必处理支付过程中可能出现的任何错误或取消情况。

其他资源

想更深入地了解代码的编写方式或功能吗?请访问我们的演示应用和博客,查看更多参考资料,包括代码示例。

打赏 Pi 打赏 微信打赏