Web3js

Web3:如何使用 web3.eth.getAccounts() 獲取 testrpc 上的第一個帳戶?

  • July 29, 2021

當我在 web3 中執行此程式碼時

web3.eth.getAccounts().then(e => console.log(e));

控制台返回這個:

[ '0x772f437b0f15e1F205C8BD923b5C8357e9c0c429',
   '0x5738d9100A6CB64FB78730746ab61472c7808fD9',
   '0x7086D052EAaD359c7aCD9B993c6169aE0dEC0725',
   '0x9fA18751b024FDC55cC85A484fF4261351Dd4666',
   '0x95a29de4A8cc4697E627922d270Aa74C2bd7494a',
   '0x332c22e9c7F02e092b18C6cc4D9Bfd46d36Dd7D9',
   '0xaED2F48c0d06a13D1FE2853E7Ee3B7d0aA328d3B',
   '0x88A0941f0dcb501C20b7BaE5a41608EB981f1209',
   '0xad5d1cB78e80518b596A814340826F36B89660Fc',
   '0x67E23e936C9d22eDCf9ebC9A989911b313c24BC1' ]

但是如果我只想要數組中的第一個帳戶並將其分配給一個變數怎麼辦?

在這種情況下,它是0x772f437b0f15e1F205C8BD923b5C8357e9c0c429

編輯:

在遵循 István András Seres 的指示後,我得到了正確的輸出,下面是我的程式碼:

var firstAccount;

web3.eth.getAccounts().then(e => { 
firstAccount = e[0];
console.log("A: " + firstAccount);
}) 

console.log("B: " + firstAccount);

奇怪的是,輸出是:

A: [correct testrpc account]

B: undefined

似乎變數一旦退出 getAccounts() 函式就不允許攜帶相同的值。

由於web3.eth.getAccounts()返回地址列表,您只需e[0]在範例中即可輕鬆訪問第一個帳戶的地址。

所以試試這個:web3.eth.getAccounts().then(e => let firstAcc=e[0]; console.log(firstAcc));

在這裡查看getAccounts()web3js 函式的官方文件。

你可以做:

var address = web3.eth.accounts[0];

獲取目前帳戶中的第一個地址

引用自:https://ethereum.stackexchange.com/questions/31967