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 在 神奇豆子
每月132次下载
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. 向您的账户添加新的访问密钥,明确添加调用
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的数据(组件代码、元数据等)。
-
在您的仓库中,转到 设置 > 秘密和变量 > Actions 并创建一个名为
SIGNER_PRIVATE_KEY
的新仓库密钥,私钥格式为.github/workflows/deploy-mainnet.yml
(如果您遵循了(1.1),则会在终端中打印出来) -
在组件仓库中创建一个名为
.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 }}
-
提交并推送工作流
-
在
main
分支上的更改,更新后的组件将在src
中部署!
自定义工作流
将 .github/workflows/deploy-mainnet.yml
的内容复制到您的仓库中作为起点
依赖项
~55–76MB
~1.5M SLoC