文章目录

  • 基础(Basics)
    • 账户
    • 账户 ID 规则
    • 顶级帐户 Top Level Accounts
    • 子账户 Subaccounts
    • 开发账号 Dev Accounts
      • 如何创建一个开发者账号
      • 我如何获得另一个
      • 拥有一个开发者账号,然后如何做?
    • 访问密钥 Access Keys
      • 完全访问Keys Full Access Keys
      • 功能调用Keys
    • 与以太坊相比
    • 账号和合约

基础(Basics)

账户

NEAR使用人类可读的帐户ID代替公用密钥哈希。 有关20分钟的视频说明,请在YouTube( https://www.youtube.com/watch?v=2_Ekz7w6Eo4&t=18s )上观看。

账户 ID 规则

  • 最小长度是2
  • 最大长度为64
  • 帐户ID包含用 . 分隔的帐户ID部分
  • 帐户ID部分由用_或-分隔的小写字母数字符号组成

Account names are similar to a domain names. Anyone can create a top level account (TLA) without separators, e.g. near. Only near can create alice.near. And only alice.near can create app.alice.near and so on. Note, near can NOT create app.alice.near directly.

帐户名称类似于域名。 任何人都可以创建没有分隔符的顶级帐户(TLA),例如 near。Only near can create alice.near. And only alice.near can create app.alice.near and so on. Note, near can NOT create app.alice.near directly.

用于完整帐户ID的正则表达式,不检查长度:

^(([a-z\d]+[\-_])*[a-z\d]+\.)*([a-z\d]+[\-_])*[a-z\d]+$

顶级帐户 Top Level Accounts

顶级帐户名称(TLA)非常有价值,因为它们为公司,应用程序和用户提供了信任和可发现性的根源。 为了公平地使用它们,将拍卖短于MIN_ALLOWED_TOP_LEVEL_ACCOUNT_LENGTH个字符(在撰写本文时为32个字符)的顶级帐户名称。

Specifically, only REGISTRAR_ACCOUNT_ID account can create new top level accounts that are shorter than MIN_ALLOWED_TOP_LEVEL_ACCOUNT_LENGTH characters. REGISTRAR_ACCOUNT_ID implements a standard Account Naming interface which allow it to create new accounts.

具体来说,只有REGISTRAR_ACCOUNT_ID帐户可以创建少于MIN_ALLOWED_TOP_LEVEL_ACCOUNT_LENGTH个字符的新顶级帐户。 REGISTRAR_ACCOUNT_ID实现了一个标准的“帐户命名”界面,该界面允许其创建新帐户。

We are not going to deploy the registrar auction at launch. Instead we will allow it to be deployed by the Near Foundation at some point in the future.

我们不会在启动时部署注册商拍卖。 相反,我们将允许它在将来的某个时候由Near Foundation进行部署。

Currently all mainnet accounts use a near top level account name (ex example.near) and all testnet accounts use a testnet top level account (ex. example.testnet).

当前,所有mainnet帐户都使用接近顶级帐户名(例如example.near),所有testnet帐户都使用testnet顶级帐户(例如example.testnet)。

子账户 Subaccounts

如前所述,NEAR上的帐户名称遵循与具有类似规则的网站域相似的命名方式。 帐户可以创建任意数量的子帐户,只有父帐户可以创建子帐户。 例如,example.near可以创建subaccount1.example.near和subaccount2.example.near,但不能创建sub.subaccount.example.near。 只有subaccount.example.near才能以相同的方式创建sub.subaccount.example.near,而test.near无法创建subaccount.example.near。 只有直接上级帐户有权创建子帐户。

Try it out using our near-cli command, near create-account, in your terminal.
在您的终端中使用我们的创建帐户,near create-account 命令尝试一下。

开发账号 Dev Accounts

开发帐户是由Near-cli和电子钱包等工具自动创建的特殊帐户,可帮助您自动化测试和部署合同。 由于每个帐户都可以拥有合约,但是重新部署合约不会创建新的状态,因此在测试时,您通常希望部署到完全不同的帐户。

注意:在部署多个测试示例并创建新的开发人员帐户时,您将需要在所有localhost示例上“注销” NEAR钱包,然后再次“登录”! 登录后会向您的帐户添加访问密钥,并将私钥保存在localStorage中,以便该应用可以调用合约方法而无需再次申请批准。 但! 您现在有机会尝试与部署在完全不同的开发人员帐户上的合约进行交互。

如何创建一个开发者账号

When you run the command dev-deploy from near-cli, it looks for a file here /neardev/dev-account with the dev account ID to deploy to.

当您从near-cli运行命令dev-deploy时,它将在/neardev/dev-account中查找一个文件,其中包含要部署到的dev帐户ID。

If it doesn’t find one, it creates a dev-account (using our cloud helper service for creating test accounts) and then creates the folder for you with the dev-account file.

如果找不到,它将创建一个开发帐户(使用我们的云助手服务创建测试帐户),然后使用开发帐户文件为您创建文件夹。

It will also create the associated credentials, a public and private keypair here: ~/.near-credentials/default/[dev-account-id].json. Go ahead and try it:

它还将在此处创建关联的凭据,即公私钥对:~/.near-credentials/default/[dev-account-id].json 继续尝试:

code ~/.near-credentials/default/[dev-account-id].json

Replace dev-account-id with the account ID here /neardev/dev-account and open the json file up in your editor of choice (code for VS Code).

在 /neardev/dev-account 处将dev-account-id替换为帐户ID,在您选择的编辑器(VS Code的代码)中打开json文件。

我如何获得另一个

Delete the folder /neardev and run near dev-deploy [wasmFile default="/out/main.wasm"] and you’ll see a new dev account was created in neardev and credentials are also stored for you.

删除文件夹/ neardev并在dev-deploy [wasmFile default =“ / out / main.wasm”]附近运行,您会看到在neardev中创建了一个新的dev帐户,并且还为您存储了凭据。

拥有一个开发者账号,然后如何做?

在json文件中找到的这些帐户和关联的密钥对对于自动化测试非常有用。

NEAR生态系统中的许多示例都使用某种类型的 yarn dev:deploy 脚本来部署合约,甚至可能运行一些测试。 了解这些帐户的创建方式,凭据的存储位置以及您自己的使用方式非常重要。

PS ,即json文件存储了账号id和密钥对的关联关系。

访问密钥 Access Keys

NEAR uses human readable account IDs instead of a public key hash as the account identifier and many keys (public/private key pairs) can be created for each account that we call “Access Keys”. Currently, there are two types of access keys; FullAccess & FunctionCall.

NEAR使用人类可读的帐户ID代替公用密钥哈希作为帐户标识符,并且可以为我们称为“访问密钥”的每个帐户创建许多密钥(公私钥对)。 当前,有两种类型的访问密钥: FullAccess和FunctionCall。

完全访问Keys Full Access Keys

顾名思义,FullAccess键具有对帐户的完全控制权,类似于在操作系统上具有管理员特权。 使用此键,您可以在NEAR上执行八种操作类型中的任何一种,而没有任何限制。

Create Account
Delete Account
Add Key
Delete Key
Deploy Contract
Function Call
Transfer Ⓝ
Stake Ⓝ (for validators)

有关更多详细信息,请参见我们的操作规范部分。(https://nomicon.io/RuntimeSpec/Actions.html)

功能调用Keys

FunctionCall Key是唯一的,因为它仅有权调用不附带Ⓝ作为保证金的智能合约的方法(即应付款功能)。 这些键具有以下三个属性:

  • allowance - amount of Ⓝ loaded onto the key to pay for gas fees (0.25 default)
    津贴-存入钥匙以支付汽油费的Ⓝ金额(默认为0.25)

  • receiver_id - contract the key is allowed to call methods on (required)
    receiver_id-约定允许密钥调用的方法(必填)

  • method_names - contract methods the key is allowed to call (optional)
    method_names-允许调用密钥的合约方法(可选)

注意:如果未指定特定的方法名称,则可以调用所有方法。

用dApp创建FunctionCall键的最简单方法是提示用户通过Near-api-js的WalletConnection使用NEAR Wallet登录。 这会提示用户授权访问,并且在批准后会创建一个FunctionCall密钥。 该密钥仅允许调用合同上的方法,该方法将用户重定向到NEAR Wallet,默认配额为0.25Ⓝ,以支付交易的汽油费用。 由于使用此密钥执行了非货币交易,因此您会发现配额减少了,一旦0.25 burn被烧毁,就需要创建一个新密钥。 如果请求使用FunctionCall密钥转移任何数量的令牌,则用户将被重定向回钱包以授权此交易。 您可以通过试用NEAR Guestbook来查看此功能的使用情况。

创建FunctionAccess键的另一种方法是使用Near-cli的add-key命令。 使用Near-cli,您可以通过只允许FunctionCall键调用特定的合约方法以及对限额进行调整来更具体地使用FunctionCall键。

FunctionCall访问键是NEAR强大的可用性功能,为您提供了许多可能性。 您不仅可以消除用户一遍又一遍地授权小额交易的需要,而且甚至可以允许用户与区块链进行交互,而无需创建帐户。 这可以通过让dApp自动创建一个FunctionCall键来实现,该键只需在您的前端上单击即可指向自身,从而允许任何人与您的dApp无缝交互。

与以太坊相比

账号和合约

Each NEAR account can only hold 1 smart contract. For applications where users should be able to organize multiple contracts you can create “subaccounts” whose “master account” is the user account. The format of a subaccount would include a dot in the name like contract1.user-A-account, contract2.user-A-account, etc. NEAR restricts the creation of accounts with a dot in the name such that these accounts can only by created by user-A-account, as if the user account is a top-level domain like your-company.com if you’re familiar with this model.

每个NEAR帐户只能持有1个智能合约。 对于用户应该能够组织多个合约的应用程序,您可以创建其“主帐户”为用户帐户的“子帐户”。 子帐户的格式应在名称中包含点,例如contract1.user-A-account,contract2.user-A-account等。NEAR限制名称中带有点的帐户的创建,以便这些帐户只能通过 由用户帐户创建,就像您熟悉此模型一样,该用户帐户是诸如your-company.com之类的顶级域。

使用NEAR CLI,您可以像这样将新合约部署到您的帐户:

near deploy --wasm-file path/to/contract.wasm --account-id contractAccount.developerAccount.testnet --master-account yourAccount.testnet

请注意,要使此方法起作用,您将需要使用NEAR CLI登录并授权它代表您使用主帐户(YOUR_ACCOUNT.testnet)。 在此处了解有关NEAR CLI的更多信息(https://docs.near.org/docs/tools/near-cli)。

NEAR官方文档翻译(二)基础(Basics)- 账户相关推荐

  1. Swift语言官方文档翻译(3)-The Basics

    The Basics Swift是为IOS和OS应用开发所创建的新语言.虽然定义为新语言,但Swift与这两个语言有很多相似的地方. Swift语言将C和OC语言中的基本原理封装成了自己的版本,包括将 ...

  2. Injective Protocol官方文档翻译(二) -Injective Exchange Client、Injective API Provider

    文章目录 一.Injective Exchange Client 二.Injective API Provider 1. 交易转发服务(Transaction Relay Service) 2. 数据 ...

  3. Chainlink官方文档翻译(二) 中间件-随机数 Intermediates - Random Numbers)

    文章目录 Intermediates - Random Numbers 一.介绍 1. 请求和接受(Request & Receive) 2. 使用 LINK 3. 与Chainlink预言机 ...

  4. 官方文档翻译《The Libra Blockchain》之执行交易(二)

    译自:官方文档翻译<The Libra Blockchain>之执行交易,第三小节.本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行许可. 执行交易 执行一 ...

  5. Ionic Framework 5官方文档翻译

    Ionic Framework 5官方文档翻译 入门 Ionic Framework 5特点 Ionic Framework是什么? 核心概念 构建你的第一个应用 先进的Web应用 浏览器支持 版本控 ...

  6. 第一节课-第二周:神经网络的编程基础(Basics of Neural Network programming)

    二.神经网络的编程基础(Basics of Neural Network programming) 2.1 二分类(Binary Classification) 2.2 逻辑回归(Logistic R ...

  7. fastapi官方文档翻译 -目录

    fastapi官方文档翻译 warmsirius 最新发布 最新评论 目录 fastapi教程翻译(前言):安装和运行 fastapi教程翻译(一):了解FastAPI结构 fastapi教程翻译(二 ...

  8. 《吴恩达深度学习》学习笔记002_神经网络的编程基础(Basics of Neural Network programming)

    http://www.ai-start.com/dl2017/html/lesson1-week2.html 神经网络的编程基础(Basics of Neural Network programmin ...

  9. db4o_8.0对象数据库官方文档翻译_学习笔记三

    紧接上篇:db4o_8.0对象数据库官方文档翻译_学习笔记二 3. Object Manager Enterprise Overview(OME视图)即OME插件的使用 If you did not  ...

  10. Jess 7.2p2——Java平台规则引擎官方文档翻译1

    Jess 7.2p2--Java平台规则引擎官方文档翻译1 本博客转载自本体小本营. 1.入门 1.1.需求 在使用Jess前请先确认JVM是否正确安装并能正常工作. 使用JessDE集成开发环境,你 ...

最新文章

  1. 适用于Linux命令的10个R函数
  2. 全职院士32人!这些大学,正创造奇迹!
  3. Xcode 7中http通信出现如下错误
  4. JVM - 写了这么多年代码,你还不知道new对象背后的逻辑?
  5. POJ 2251 Dungeon Master
  6. 学成在线--26.课程图片管理(图片删除)
  7. 信息安全技术及应用 常规加密技术
  8. 华为小程序怎么弄出来_华为手机窗口小程序 华为窗口小程序怎么弄出来
  9. python面板数据模型_面板数据模型选择
  10. Ubuntu下编译nanomsg库
  11. 计算机模拟CS,CS跳跃模拟器电脑版_CS跳跃模拟器手游电脑版_游戏堡
  12. 实习收获之 获取json对象键值的几种方法
  13. java 一周的第一天_Java获取某年某周的第一天
  14. obv代码matlab,obv指标源代码,标准obv指标源代码
  15. 中国市场超阿迪耐克 安踏领衔打响国货反击战
  16. 关于cocos2d-x项目防止八门神器等修改工具的一种解决办法
  17. Linux中创建快捷方式
  18. mysql添加用户操作方法
  19. 关于python+selenium的自动化测试需要用到的知识点总结
  20. 为什么越来越多的人选择智能语音外呼机器人项目创业?

热门文章

  1. 洛谷1462 通往奥格瑞玛的道路 二分+spfa
  2. Access 2003中文版即学即会视频教程(下)
  3. VirtuaNES 模拟器 玩FC小游戏 热血系列集合
  4. django一:windows及linux下安装django
  5. ubuntu/python2安装django
  6. linux下使用百度云python客户端
  7. 前端自动化构建-为什么使用前端自动化构建以及gulp简介
  8. 基于IQxel的WIFI RF测试指导书
  9. 计算机四级考试题库 苹果,‎App Store 上的“计算机四级网络工程师考试题库”...
  10. 未来智能,触摸未来 ---记2016华为开发者大赛沙龙上海站