728x90
반응형
SMALL
=

브라우니

블록체인 (Block Chain)/이더리움

[브라우니 (Brownie)] 15. 단위 테스트 작성하기

브라우니는 단위 테스트를 위해 pytest 프레임워크를 사용합니다. Pytest는 성숙하고 기능이 풍부한 테스트 프레임워크입니다. 최소한의 코드로 작은 테스트를 작성할 수 있으며 대규모 프로젝트에 확장성이 뛰어납니다. 테스트를 실행하려면: $ brownie test 이 문서에서는 기본 pytest 사용 방법을 간단하게 설명하며, 특히 Brownie와 관련된 기능에 중점을 둡니다. pytest의 많은 구성 요소는 부분적으로 또는 전혀 설명되지 않았습니다. pytest에 대해 더 자세히 알고 싶다면 공식 pytest 문서를 참조해야합니다 (https://docs.pytest.org/en/latest/). 시작하기 테스트 파일 구조 Pytest는 프로젝트의 테스트 스위트에 포함해야하는 함수를 찾기 위해 tes..

블록체인 (Block Chain)/이더리움

[브라우니 (Brownie)] 14. 데이터 유형

데이터 유형 브라우니는 일반적으로 나타내는 값을 간소화하기 위해 사용자 정의 데이터 유형을 사용합니다. Wei Wei 클래스는 이더리움의 양을 나타내는 값으로 사용됩니다. 이 클래스는 문자열, 과학적 표기법 및 16진 문자열을 wei로 표현된 정수로 변환할 수 있는 int 서브 클래스입니다. >>> Wei("1 ether") 1000000000000000000 >>> Wei("12.49 gwei") 12490000000 >>> Wei("0.029 shannon") 29000000 >>> Wei(8.38e32) 838000000000000000000000000000000 다른 값들도 비교, 덧셈, 뺄셈을 수행하기 전에 Wei**로 변환됩니다: >>> Wei(1e18) == "1 ether" True >>>..

블록체인 (Block Chain)/이더리움

[브라우니 (Brownie)] 13. 트랜잭션 검사 및 디버깅하기

TransactionReceipt 객체는 트랜잭션에 관한 정보와 디버깅을 돕는 다양한 메서드를 제공합니다. >>> tx = Token[0].transfer(accounts[1], 1e18, {'from': accounts[0]}) Transaction sent: 0xa7616a96ef571f1791586f570017b37f4db9decb1a5f7888299a035653e8b44b Token.transfer confirmed - block: 2 gas used: 51019 (33.78%) >>> tx 트랜잭션에 대한 사람이 읽기 쉬운 정보를 보려면 TransactionReceipt.info 메서드를 호출하세요. >>> tx.info() Transaction was Mined -----------------..

블록체인 (Block Chain)/이더리움

[브라우니 (Brownie)] 12. 블록체인과 상호작용하기

블록 정보에 액세스하기 chain으로 사용 가능한 Chain 객체는 리스트와 같은 구문을 사용하여 블록 정보에 액세스할 수 있습니다: >>> chain >>> chain[12965000] AttributeDict({ 'baseFeePerGas': 1000000000, 'difficulty': 7742494561645080, 'extraData': HexBytes('0x68747470733a2f2f7777772e6b7279707465782e6f7267'), 'gasLimit': 30029122, 'gasUsed': 30025257, 'hash': HexBytes('0x9b83c12c69edb74f6c8dd5d052765c1adf940e320bd1291696e6fa07829eee71'), 'logsBloom..

블록체인 (Block Chain)/이더리움

[브라우니 (Brownie)] 11. 트랜잭션 가스 가격 설정하기

동적 수수료 거래 EIP-1559를 구현하는 네트워크에 상호 작용하는 경우, 거래를 보낼 때 더 나은 수수료 모델을 사용할 수 있습니다. gas_price를 지정하는 대신 priority_fee와 선택적인 max_fee를 지정합니다. priority_fee는 maxPriorityFeePerGas를 결정하며, 이것은 채굴자에게 팁을 줍니다. 권장 우선 수수료는 chain.priority_fee에서 읽을 수 있습니다. max_fee는 모든 트랜잭션에서 동일하게 소비되는 기본 수수료와 우선순위 수수료를 포함하는 maxFeePerGas를 결정합니다. 현재 기본 수수료는 chain.base_fee에서 읽을 수 있습니다. 브라우니는 우선순위 수수료만 지정하는 경우 base_fee * 2 + priority_fee를..

블록체인 (Block Chain)/이더리움

[브라우니 (Brownie)] 10. 컨트랙트로 작업하기

계약 배포하기 Brownie가 로드될 때마다 프로젝트를 자동으로 컴파일하고 배포 가능한 각 계약에 대한 ContractContainer 객체를 만듭니다. 이 객체는 개별 배포에 액세스하기 위한 컨테이너로 사용됩니다. 또한 새 계약을 배포하는 데에도 사용됩니다. >>> Token [] >>> type(Token) >>> Token.deploy ContractContainer.deploy 함수는 새로운 스마트 컨트랙트를 배포하는 데 사용됩니다. >>> Token.deploy 계약 생성자 전달인자 및 거래 매개변수 사전과 함께 호출해야 하며, 이는 from 필드를 포함하는 것이 필요하며 해당 필드는 계약을 배포할 Account를 지정합니다. >>> Token.deploy("Test Token", "TST", ..

블록체인 (Block Chain)/이더리움

[브라우니 (Brownie)] 9. 계정으로 작업하기

Accounts 컨테이너( accounts 또는 a로 사용 가능)를 사용하면 모든 로컬 계정에 액세스할 수 있습니다. >>> accounts ['0xC0BcE0346d4d93e30008A1FE83a2Cf8CfB9Ed301', '0xf414d65808f5f59aE156E51B97f98094888e7d92', '0x055f1c2c9334a4e57ACF2C4d7ff95d03CA7d6741', '0x1B63B4495934bC1D6Cb827f7a9835d316cdBB332', '0x303E8684b9992CdFA6e9C423e92989056b6FC04b', '0x5eC14fDc4b52dE45837B7EC8016944f75fF42209', '0x22162F0D8Fd490Bde6Ffc9425472941a1a59348..

블록체인 (Block Chain)/이더리움

[브라우니 (Brownie)] 8. 브라우니 GUI

브라우니 GUI 브라우니에는 테스트 커버리지 데이터를 볼 수 있고 컴파일 된 계약 바이트 코드를 분석할 수 있는 GUI가 포함되어 있습니다. 이 섹션의 일부는 EVM 바이트 코드에 대한 이해 수준을 전제로 합니다. 이 주제에 대해 더 알고 싶다면 OpenZeppelin의 Alejandro Santander가 훌륭한 가이드를 작성했습니다. - Solidity 컨트랙트 해체. ✅ GUI를 로드하려고 할 때 오류가 발생하면 시스템에 Tk가 설치되어 있지 않은 것입니다. 더 자세한 정보는 Tk 설치 지침을 확인하십시오. 시작하기 GUI를 열려면 프로젝트 폴더 내에서 다음 명령을 실행하십시오. $ brownie gui 또는 콘솔에서: >>> Gui() 로드된 후에는 먼저 볼 계약을 선택해야합니다. 이를 위해 오른..

728x90
반응형
LIST
gsroot
'브라우니' 태그의 글 목록 (2 Page)