Web3js
Web3:如何使用 web3.eth.getAccounts() 獲取 testrpc 上的第一個帳戶?
當我在 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];
獲取目前帳戶中的第一個地址