PolySmartChain
中文繁體
中文繁體
  • PSC開發文檔
  • 概述
    • PolySmartChain簡介
    • PSC令牌
    • PolySmartChain網絡
  • 區塊鏈基礎
    • 區塊鏈的類型
    • 共識機制
    • GAS
    • 區塊
    • 帳戶
    • WEB2與WEB3
    • DAPP
    • 交易
  • 經濟學
    • PSC Token經濟學
    • PSC Token 效用
  • 開發者
    • 虛擬機 (EVM)
    • 部署第一個合約
    • 發布 PRC-20 Token
    • 發布 PRC-721 Token
  • Node
    • RPC節點
    • 部署
    • 私有鏈
    • 開發者工具
    • 基礎設施
    • 智能合約庫
  • Explorer
    • Explorer
  • 錢包
    • 支持钱包
    • 使用Metamask
    • 使用TokenPocket
    • 使用Imtoken
  • Poly Bridge
    • PolyBridge 介紹
    • PolyBridge 非EVM操作教程
      • WDC to PSC(WDCSpace)
      • TRON to PSC(TronLink)
    • PolyBridge EVM操作教程
      • BNB Chain to PSC(Metamask)
      • BNB Chain to PSC(Imtoken )
      • BNB Chain to PSC(TokenPocket)
    • PolyBridge常見問題
  • DAPP
    • Swanswap
      • 如何在SwanSwap交易
      • 如何在SwanSwap獲得LP Token
    • NFT Auction
      • Claim PolyJetClub
      • 在MetaMask錢包中查看PolyJetClub
    • Social
      • 註冊Social
    • 礦池
      • 質押LP Token到礦池
      • 礦池常見問題解答
    • 遷移到V2礦池
      • 使用MetaMask遷移
    • PolyDao 提案說明
      • PolyDao 提案常見問題
  • 資源
    • 資源
    • 合約
Powered by GitBook
On this page
  • 帳戶類型
  • 理解帳戶
  • 外部持有的帳戶和密鑰對
  • 帳戶創建
  • 合約帳戶
  • 關於錢包的說明
  1. 區塊鏈基礎

帳戶

Previous區塊NextWEB2與WEB3

Last updated 3 years ago

一個PolySmartChain帳戶是一個具有PSC幣餘額的實體,可以在PolySmartChain上發送交易。帳戶可以由用戶控制,也可以作為智能合約部署。一个PolySmartChain帐户是一个具有PSC币余额的实体,可以在PolySmartChain上发送交易。 帐户可以由用户控制,也可以作为智能合约部署。

帳戶類型

PolySmartChain有兩種帳戶類型:

  • 外部持有 – 私鑰的所有者控制

  • 合約 – 一種由代碼控制,部署在網絡上的智能合約。了解。

這兩種帳戶類型都能:

  • 接收、持有和發送 PSC 和 token

  • 與已部署的智能合約進行交互

主要區別

外部持有

  • 創建帳戶是免費的

  • 可以發起交易

  • 外部所有的帳戶之間只能進行 PSC 和代幣交易

合約

  • 創建合約存在成本,因為需要使用網絡存儲空間

  • 只能在收到交易時發送交易

  • 從外部帳戶向合約帳戶發起的交易能觸發可執行多種操作的代碼,例如轉移代幣甚至創建新合約

理解帳戶

PolySmartChain帳戶有四個字段:

  • nonce – 顯示從帳戶發送的交易數量的計數器。這將確保交易只處理一次。在合約帳戶中,這個數字代表該帳戶創建的合約數量

  • balance – 這個地址擁有的 Wei 數量。 Wei 是以太幣的計數單位,每個 ETH 有 1e+18 Wei。

  • codeHash - 該哈希表示PolySmartChain虛擬機 (EVM) 上的帳戶代碼。合約帳戶具有編程的代碼片段,可以執行不同的操作。如果帳戶收到消息調用,則執行此 EVM 代碼。與其他帳戶字段不同,不能更改。所有代碼片段都被保存在狀態數據庫的相應哈希下,供後續檢索。此哈希值稱為 codeHash。對於外部所有的帳戶,codeHash 字段是空字符串的哈希。

  • storageRoot – 有時被稱為存儲哈希。 Merkle Patricia trie 根節點的 256 位哈希已編碼了帳戶的存儲內容(256 位整數值映射),並編碼為 Trie,作為來自 256 的 Keccak 256 位哈希的映射位整數鍵,用於 RLP 編碼的 256 位整數值。此 Trie 對此帳戶存儲內容的哈希進行編碼,默認情況下為空。

外部持有的帳戶和密鑰對

帳戶由公鑰和私鑰加密對組成。它們有助於證明交易實際上是由發送者簽名的,並防止偽造。您的私鑰是您用來簽名交易的密鑰,所以它保障您對與您帳戶相關的資金進行管理。您從未真正持有加密貨幣,您持有私鑰 – 資金總是在PolySmartChain的賬本上。。

這將防止惡意參與者廣播虛假交易,因為您總是可以驗證交易的發送者。

如果 Alice 想要從她自己的帳戶發送 PSC 到 Bob 的帳戶,Alice 需要創建交易請求並將其發送到網絡進行驗證。以太坊對公鑰加密的使用確保了 Alice 可以證明她最初發起了交易請求。沒有加密機制,惡意對手 Eve 可以簡單地公開廣播一個看起來像“從 Alice 的帳戶發送 5 PSC 到 Eve 帳戶”的請求。而且沒有人能夠證實它不是來自 Alice 的。

帳戶創建

當你想要創建一個帳戶時,大多數庫將生成一個隨機的私鑰。

私鑰由 64 個十六進製字符組成,可以用密碼加密保存。

例如:

fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036415f

使用橢圓曲線數字簽名算法從私鑰生成公鑰。通過獲取公鑰 Keccak-256 哈希的最後 20 個字節併校驗碼前面添加 0x,可以為帳戶獲取公共地址。

下面是使用 GPSC 的 personal_newAccount 在控制台中創建一個帳戶的例子

1> personal.newAccount()2Passphrase:3Repeat passphrase:4"0x5e97870f263700f46aa00d967821199b9bc5a120"5
6> personal.newAccount("h4ck3r")7"0x3d80b31a78c30fc628f20b2c89d7ddbf6e53cedc"8

可以通過您的私鑰獲取公鑰,但您不能通過公鑰獲取私鑰。這意味著保持私人密鑰的安全至關重要,如同名稱所建議的 PRIVATE。

您需要一個私鑰來簽署消息和交易並輸出簽名。然後其他人可以使用簽名獲取您的公鑰,證明信息的作者。在您的應用程序中,您可以使用 javascript 庫向網絡發送交易。

合約帳戶

合約帳戶也有一個 42 個字符組成的十六進制地址:

例如:

0x06012c8cf97bead5deae237070f9587f8e7a266d

合約地址通常在將合約部署到PolySmartChain區塊鏈時給出。地址產生自創建人的地址和從創建人地址發送的交易數量(“nonce”)。

關於錢包的說明

帳戶和錢包不同。賬戶是用戶擁有的以太坊賬戶的密鑰和地址對。錢包是一個界面或者說應用程序,可以讓您與PolySmartChain賬戶交互。

拓展资源

智能合约