<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                --- 概述: 用Go創建和導入keystore。 --- # Keystores keystore是一個包含經過加密了的錢包私鑰。go-ethereum中的keystore,每個文件只能包含一個錢包密鑰對。要生成keystore,首先您必須調用`NewKeyStore`,給它提供保存keystore的目錄路徑。然后,您可調用`NewAccount`方法創建新的錢包,并給它傳入一個用于加密的口令。您每次調用`NewAccount`,它將在磁盤上生成新的keystore文件。 這是一個完整的生成新的keystore賬戶的示例。 ```go ks := keystore.NewKeyStore("./wallets", keystore.StandardScryptN, keystore.StandardScryptP) password := "secret" account, err := ks.NewAccount(password) if err != nil { log.Fatal(err) } fmt.Println(account.Address.Hex()) // 0x20F8D42FB0F667F2E53930fed426f225752453b3 ``` 現在要導入您的keystore,您基本上像往常一樣再次調用`NewKeyStore`,然后調用`Import`方法,該方法接收keystore的JSON數據作為字節。第二個參數是用于加密私鑰的口令。第三個參數是指定一個新的加密口令,但我們在示例中使用一樣的口令。導入賬戶將允許您按期訪問該賬戶,但它將生成新keystore文件!有兩個相同的事物是沒有意義的,所以我們將刪除舊的。 這是一個導入keystore和訪問賬戶的示例。 ```go file := "./wallets/UTC--2018-07-04T09-58-30.122808598Z--20f8d42fb0f667f2e53930fed426f225752453b3" ks := keystore.NewKeyStore("./tmp", keystore.StandardScryptN, keystore.StandardScryptP) jsonBytes, err := ioutil.ReadFile(file) if err != nil { log.Fatal(err) } password := "secret" account, err := ks.Import(jsonBytes, password, password) if err != nil { log.Fatal(err) } fmt.Println(account.Address.Hex()) // 0x20F8D42FB0F667F2E53930fed426f225752453b3 if err := os.Remove(file); err != nil { log.Fatal(err) } ``` ---- ### 完整代碼 ```go package main import ( "fmt" "io/ioutil" "log" "os" "github.com/ethereum/go-ethereum/accounts/keystore" ) func createKs() { ks := keystore.NewKeyStore("./tmp", keystore.StandardScryptN, keystore.StandardScryptP) password := "secret" account, err := ks.NewAccount(password) if err != nil { log.Fatal(err) } fmt.Println(account.Address.Hex()) // 0x20F8D42FB0F667F2E53930fed426f225752453b3 } func importKs() { file := "./tmp/UTC--2018-07-04T09-58-30.122808598Z--20f8d42fb0f667f2e53930fed426f225752453b3" ks := keystore.NewKeyStore("./tmp", keystore.StandardScryptN, keystore.StandardScryptP) jsonBytes, err := ioutil.ReadFile(file) if err != nil { log.Fatal(err) } password := "secret" account, err := ks.Import(jsonBytes, password, password) if err != nil { log.Fatal(err) } fmt.Println(account.Address.Hex()) // 0x20F8D42FB0F667F2E53930fed426f225752453b3 if err := os.Remove(file); err != nil { log.Fatal(err) } } func main() { createKs() //importKs() } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看