Accounts 컨테이너( accounts 또는 a로 사용 가능)를 사용하면 모든 로컬 계정에 액세스할 수 있습니다.

>>> accounts
['0xC0BcE0346d4d93e30008A1FE83a2Cf8CfB9Ed301', '0xf414d65808f5f59aE156E51B97f98094888e7d92', '0x055f1c2c9334a4e57ACF2C4d7ff95d03CA7d6741', '0x1B63B4495934bC1D6Cb827f7a9835d316cdBB332', '0x303E8684b9992CdFA6e9C423e92989056b6FC04b', '0x5eC14fDc4b52dE45837B7EC8016944f75fF42209', '0x22162F0D8Fd490Bde6Ffc9425472941a1a59348a', '0x1DA0dcC27950F6070c07F71d1dE881c3C67CEAab', '0xa4c7f832254eE658E650855f1b529b2d01C92359','0x275CAe3b8761CEdc5b265F3241d07d2fEc51C0d8']
>>> accounts[0]
<Account object '0xC0BcE0346d4d93e30008A1FE83a2Cf8CfB9Ed301'>

각각의 계정은 Accounts 객체로 표시됩니다. 이 객체는 잔액 조회 또는 ETH 전송과 같은 작업을 수행할 수 있습니다.

>>> accounts[0]
<Account object '0xC0BcE0346d4d93e30008A1FE83a2Cf8CfB9Ed301'>
>>> dir(accounts[0])
[address, balance, deploy, estimate_gas, nonce, transfer]

Account.balance 메서드는 계정의 잔액을 확인하는 데 사용됩니다. 반환된 값은 wei 단위로 표시됩니다.

>>> accounts[1].balance()
100000000000000000000

Account.transfer 메서드를 사용하면 계정 간 이더를 전송하거나 기타 간단한 트랜잭션을 수행할 수 있습니다. 아래 예제에서 보여지듯, 전송할 금액은 Wei로 변환되는 문자열로 지정할 수 있습니다.

**>>>** accounts[0].transfer(accounts[1], "10 ether")

Transaction sent: 0x124ba3f9f9e5a8c5e7e559390bebf8dfca998ef32130ddd114b7858f255f6369
Transaction confirmed - block: 1   gas spent: 21000
<Transaction object '0x124ba3f9f9e5a8c5e7e559390bebf8dfca998ef32130ddd114b7858f255f6369'>
**>>>** accounts[1].balance()
110000000000000000000

계정 생성, 추가 및 잠금 해제

새로 추가된 계정은 자동으로 Accounts 컨테이너에 추가됩니다.

Accounts.add 메서드를 사용하여 새로운 계정을 무작위로 생성할 수 있습니다:

**>>>** accounts.add()
mnemonic: 'rice cement vehicle ladder end engine tiger gospel toy inspire steel teach'
<LocalAccount '0x7f1eCD32aF08635A3fB3128108F6Eb0956Efd532'>

특정 계정에 액세스하기 위해 선택적으로 개인 키를 지정할 수 있습니다:

**>>>** accounts.add('0xca751356c37a98109fd969d8e79b42d768587efc6ba35e878bc8c093ed95d8a9')
<LocalAccount '0xf6c0182eFD54830A87e4020E13B8E4C82e2f60f0'>

개발 환경에서 주소의 개인 키를 소유하지 않고 해당 주소에서 트랜잭션을 보낼 수 있습니다. 임의의 주소에서 Account 객체를 만들려면 Accounts.at 메서드를 사용하고 키워드 인수로 force=True를 포함시키십시오:

**>>>** accounts.at('0x79B2f0CbED2a565C925A8b35f2B402710564F8a2', force=**True**)
<Account '0x79B2f0CbED2a565C925A8b35f2B402710564F8a2'>

계정 관리에 대한 자세한 정보는 계정 관리를 참조하십시오.

여러 거래 전송 방송

거래 전송 방송은 일반적으로 차단 작업입니다. 브라우니는 거래가 확인될 때까지 기다립니다. 차단하지 않고 거래를 방송하는 한 가지 방법은 required_confs = 0로 설정하는 것입니다. 이렇게 하면 대기하지 않고 즉시 보류 중인 TransactionReceipt이 반환되며 확인을 기다리지 않고 계속 진행됩니다. 또한 silent = True로 설정하면 콘솔 출력이 억제됩니다.

**>>>** transactions = [
        accounts[0].transfer(accounts[i], "1 ether", required_confs=0, silent=True)
        for i in range(1, 4)
    ]
**>>>** [tx.status for tx in transactions]
[1, -1, -1]