#组件 #near #部署 #命令行工具 #账户 #小部件 #社交

app bos-cli

命令行实用程序有助于通过允许开发人员使用他们最好的代码编辑器和标准源代码版本控制工具等标准开发工具,然后通过一条命令将小部件部署到SocialDB来开发near.social的小部件。

16个版本

新版本 0.3.16 2024年8月21日
0.3.15 2024年6月21日
0.3.14 2024年5月29日
0.3.13 2024年2月3日
0.3.4 2023年6月28日

#112神奇豆子

Download history 91/week @ 2024-05-25 16/week @ 2024-06-01 8/week @ 2024-06-08 89/week @ 2024-06-15 38/week @ 2024-06-22 13/week @ 2024-06-29 31/week @ 2024-07-06 132/week @ 2024-08-17

每月132次下载

MIT/Apache 和可能 GPL-3.0-or-later

155KB
3K SLoC

BOS CLI

命令行实用程序通过允许开发人员使用他们最好的代码编辑器和标准源代码版本控制工具等标准开发工具,然后通过一条命令将组件部署到SocialDB,帮助开发NEAR区块链操作系统的组件。

命令组

  • project - 项目管理
  • components - 与组件一起工作(下载、部署等)
  • socialdb - SocialDb管理

project - 项目管理

  • new 允许您初始化、编辑然后将新的组件部署到您的near.social账户。

components - 与组件一起工作(下载、部署等)

  • deploy 允许您从您本地的 ./src 文件夹上传/发布组件到near.social账户。
  • diff 显示已部署组件和本地组件之间的更改。
  • download 允许您从任何near.social账户下载现有的组件到本地的 ./src 文件夹。
  • delete 允许您从任何near.social账户删除现有的组件。

注意

默认情况下,社交数据库前缀的计算方式为:<account-id>/widget/<component-folder>.<component-name>。如果您愿意,可以使用CLI选项更改默认文件夹(widget):--social-db-folder

bos components --social-db-folder "component_beta" download ...

socialdb - 社交数据库管理

data - 数据管理:通过给定键查看、添加、更新、删除信息

  • view 允许您通过给定键查看信息。
  • set 允许您通过给定键添加或更新信息。
  • delete 允许您通过指定键删除信息。

manage-profile - 个人资料管理:查看、更新

  • view-profile 允许您查看账户的个人资料。
  • update-profile 允许您更新账户的个人资料。

prepaid-storage - 存储管理:存款、取款、余额查看

  • view-balance 允许您查看账户的存储余额。
  • deposit 允许您为账户进行存储存款。
  • withdraw 允许您从存储账户ID中取款。

permissions - 授予不同账户访问权限

  • grant-write-access 允许您授予访问键以调用函数或另一个账户的访问权限。

更多命令正在路上,请参阅问题跟踪器并在此处提出更多功能。

安装

您可以在发布页面找到适用于您的操作系统的 bos CLI的二进制发行版。

通过shell脚本安装预构建的二进制文件(macOS,Linux,WSL)

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/bos-cli-rs/bos-cli-rs/releases/latest/download/bos-cli-installer.sh | sh

通过powershell脚本安装预构建的二进制文件(Windows)

irm https://github.com/bos-cli-rs/bos-cli-rs/releases/latest/download/bos-cli-installer.ps1 | iex

使用npx运行预构建的二进制文件(Node.js)

npx bos-cli

将预构建的二进制文件安装到您的npm项目中(Node.js)

npm install bos-cli

从源代码安装(Cargo)

在安装之前,请确保您的计算机已安装 Rust 和系统依赖项。

要安装系统依赖项

  • 在Ubuntu Linux上:apt install pkg-config libudev-dev
  • 在Fedora Linux上:dnf install pkg-config libudev-devel

一旦安装了系统依赖项和Rust,您可以使用以下命令从源代码安装最新发布的 bos-cli

cargo install bos-cli

或者,从git仓库安装最新版本

$ cargo install --git https://github.com/bos-cli-rs/bos-cli-rs

GitHub Actions

可重用工作流程

此仓库包含一个可重用的工作流程,您可以直接从组件仓库利用它

  1. 准备将用于组件部署的访问密钥。

    建议使用仅功能调用的专用访问密钥,因此您需要

    1.1. 向您的账户添加新的访问密钥,明确添加调用 set 方法的权限。以下是near CLI 命令来完成此操作

    near account add-key "ACCOUNT_ID" grant-function-call-access --allowance '1 NEAR' --receiver-account-id social.near --method-names 'set' autogenerate-new-keypair print-to-terminal network-config mainnet
    

    1.2. 授予密钥写入权限(将 PUBLIC_KEY 替换为之前步骤中添加到账户的密钥,并将 ACCOUNT_ID 替换为您想要部署BOS组件的账户ID)

    near contract call-function as-transaction social.near grant_write_permission json-args '{"public_key": "PUBLIC_KEY", "keys": ["ACCOUNT_ID/widget"]}' prepaid-gas '100.000 TeraGas' attached-deposit '1 NEAR' sign-as "ACCOUNT_ID" network-config mainnet
    

    注意:附加的存款将用于支付与您在BOS上存储的数据相关的存储成本,1 NEAR足以存储100kb的数据(组件代码、元数据等)。

  2. 在您的仓库中,转到 设置 > 秘密和变量 > Actions 并创建一个名为 SIGNER_PRIVATE_KEY 的新仓库密钥,私钥格式为 .github/workflows/deploy-mainnet.yml(如果您遵循了(1.1),则会在终端中打印出来)

  3. 在组件仓库中创建一个名为 .github/workflows/deploy-mainnet.yml 的文件,内容如下。有关输入的解释,请参阅 工作流定义

    name: Deploy Components to Mainnet
    on:
      push:
        branches: [main]
    jobs:
      deploy-mainnet:
        uses: bos-cli-rs/bos-cli-rs/.github/workflows/deploy-mainnet.yml@master
        with:
          deploy-account-address: <FILL>
          signer-account-address: <FILL>
          signer-public-key: <FILL>
        secrets:
          SIGNER_PRIVATE_KEY: ${{ secrets.SIGNER_PRIVATE_KEY }}
    
  4. 提交并推送工作流

  5. main 分支上的更改,更新后的组件将在 src 中部署!

自定义工作流

.github/workflows/deploy-mainnet.yml 的内容复制到您的仓库中作为起点

依赖项

~55–76MB
~1.5M SLoC