帳戶

一個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賬戶交互。

拓展资源

Last updated