Giới thiệu về tài khoản NEAR
-
NEAR cung cấp ID tài khoản theo định dạng dễ hiểu cho người dùng. ID tài khoản NEAR có định dạng tên.near. Ví dụ: maria.near, jane.near hay icebear.near.
-
Hệ thống tài khoản NEAR tương tự như hệ thống phân giải tên miền website. Cụ thể là với một tài khoản chính, chúng ta có thể tạo ra nhiều tài khoản phụ (sub accounts) tùy thích, cũng giống như việc dựa trên một tên miền website ta có thể tạo ra nhiều tên miền phụ (subdomain). Ví dụ, với một tài khoản NEAR mang tên icebear.near, ta có thể tạo ra một tài khoản phụ mới là sub.icebear.near, lần lượt như thế ta có thể tiếp tục tạo thêm nhiều tài khoản phụ khác như first.sub.icebear.near, second.sub.icebear.near, …
-
Tạo tài khoản NEAR bằng cách truy cập vào các website sau: Ví NEAR (https://wallet.near.org/), (ví giao thức NEAR), NEAR Faucet (https://faucet.paras.id/) (một faucet dành cho người dùng Ethereum и Metamask), hay near-cli (https://github.com/near/near-cli) (một giao diện dòng lệnh cung cấp các tính năng cho việc tích hợp NEAR).
-
Bạn có thể tặng cho bạn bè hoặc những người hâm mộ của mình tài khoản NEAR bằng cách sử dụng dịch vụ của https://nearnames.com.
-
Bạn có thể kiểm tra thông tin về tài khoản NEAR của mình trên NEAR Explorer (https://explorer.near.org/) hoặc trên ứng dụng ví NEAR (NEAR Wallet).
-
Bên cạnh việc cung cấp các tài khoản dạng name.near thì hệ sinh thái NEAR còn hỗ trợ chúng ta tạo ra tài khoản dạng invisible (định dạng này giống như địa chỉ Bitcoin hay Ethereum) bằng cách sử dụng near-cli. Bạn có thể thêm thông tin chi tiết về tài khoản này tại đây.
-
Mỗi tài khoản NEAR trong hệ thống sẽ có một và chỉ một smart-contract. Đối với các ứng dụng yêu cầu người dùng sử dụng nhiều smart-contract, chúng ta có thể sử dụng các tài khoản con (child account) như contract_1.icebear.near, contract_2.icebear.near, …
-
Hệ sinh thái NEAR còn cung cấp các tài khoản dành cho nhà phát triển (https://docs.near.org/docs/concepts/account#dev-accounts). Điểm đặc biệt ở các tài khoản này là chúng có thể giúp nhà phát triển thử nghiệm và sửa lỗi cho các smart-contract.
Các khóa (Keys) của một tài khoản NEAR
-
Giống như nhiều blockchain khác, NEAR cũng được xây dựng dựa trên mật mã học với một mã mở (open key). Mỗi cặp khóa bao gồm một khóa công khai (public key) và một khóa bí mật (private key).
-
NEAR sử dụng public key để nhận danh người dùng và private key để ký kết các giao dịch (xác nhận quyền sở hữu tài khoản NEAR trong suốt quá trình tạo giao dịch).
-
NEAR có 3 kiểu khóa: Khóa truy cập (Access key) dùng để ký kết các giao dịch, khóa xác thực (Validator key) thực hiện các thao tác liên quan tới việc xác nhận mạng lưới, khóa nút (Node key) cho phép các giao tiếp đơn giản giữa các node.
-
Các khóa có thể được lưu trữ ở 3 kho khác nhau. InMemoryKeyStore – lưu trữ trong bộ nhớ, được sử dụng cho các tình huống tạm thời. BrowserLocalStorageKeyStore – lưu trữ cục bộ của trình duyệt, không được mã hóa, được sử dụng để làm việc với các ứng dụng trên trình duyệt. UnencryptedFileSystemKeyStore – lưu trữ trên hệ thống tệp tin, không được mã hóa, được sử dụng khi làm việc với near-cli.
-
Mỗi tài khoản NEAR có thể có nhiều Access Key, hoặc không có cái nào.
-
Các khóa này có các mức độ truy cập khác nhau: FullAccess (toàn quyền truy cập) hoặc FunctionCall (chỉ có thể gọi tới các phương thức trong contract).
-
Với mỗi tài khoản thì các khóa là duy nhất. Tuy nhiên, khóa công khai (public key) có thể được gán cho các tài khoản khác nhau với các mức độ truy cập khác nhau. Mức độ truy cập sẽ quyết định những hoạt động mà tài khoản đó được thực hiện.
-
Đối với cấp độ truy cập FullAccess (toàn quyền truy cập) thì tài khoản có thể thực hiện toàn bộ 8 hành động sau: CreateAccountAction (tạo một tài khoản mới), DeployContractAction (triển khai một smart contract), FunctionCallAction (gọi các phương thức của một hợp đồng), TransferAction (gửi token tới tài khoản khác), StakeAction (thực hiện staking token), AddKeyAction (thêm key vào tài khoản), DeleteKeyAction (xóa key khỏi tài khoản), DeleteAccountAction (xóa tài khoản).
-
Đối với mức độ truy cập FunctionCall, tài khoản chỉ có thể thực hiện hành động FucntionCallAction (gọi tới phương thức trong hợp đồng). Đồng thời, với một key, bạn cũng có thể chỉ định những phương thức nào trong hợp đồng mà tài khoản có thể gọi tới.