이 더 리 움 PHP 오프라인 개발 패키지
3590 단어 이 태 방
다운로드 주소:http://sc.hubwiz.com/codebag/eth-php-lib/
EthTool 은**Php 7.1+*환경 에서 실 행 됩 니 다.현재 버 전 1.0.0,주요 코드 파일 목록 은 다음 과 같 습 니 다.
코드 파일
설명 하 다.
ethtool/src/Callback.php
RPC 리 셋 클래스
ethtool/src/Credential.php
신분 표시 클래스
ethtool/src/KeyStore.php
Keystore 클래스,V3 알고리즘
ethtool/src/EthApi.php
이 더 리 움 거래 인터페이스 기본 클래스
ethtool/src/EthApiEtherscan.php
Etherscan 거래 인터페이스 클래스
ethtool/src/EthApiWeb3.php
Infura/Web3 거래 인터페이스 클래스
ethtool/src/RawContract.php
누 드 거래 계약 류
ethtool/src/RawTxBuilder.php
누 드 거래 구조 기
test/demo-etherscan.php
누 드 거래 데모 코드,etherscan 으로 제출
test/demo-infura.php
누 드 거래 데모 코드,infora 로 제출
test/demo-keystore.php
keystore 데모 코드
vendor
제3자 의존 패키지 디 렉 터 리
composer.json
composer 프로필
2.사용 설명
코드 패키지 의 주요 종 류 는 다음 과 같 습 니 다.
RawTxBuilder 의
create()
정적 방법 으로 구조 기 인 스 턴 스 를 가 져 옵 니 다.예 를 들 어:$rtb = RawTxBuilder::create();
누 드 거래 구조 기 는 계 정 대상 을 연결 하고 사용
credential()
방법:$crendetial = Crendetial::fromKey('...');
$rtb->credential($credential);
RawTx Builder 는 현재 세 가지 누 드 거래 구 조 를 지원 합 니 다.
getPlaintx()
방법 으로 얻 을 수 있다.getDeployTx()
방법 으로 획득.getSendTx()
방법 으로 얻 을 수 있다.예 를 들 어 아래 코드 생 성 계약 배치 누 드 거래:
$rawtx = RawTxBuilder::create()
->credential($credential)
->gasLimit('4000000')
->gasPrice('10000000000')
->chainId($chainId)
->nonce($nonce)
->contract($abi) // , RawContract
->bytecode($bin) //
->getDeployTx(1000000,'HAPPY COIN',0,'HAPY'); //
누 드 트레이드 방송
EthApi 기본 클래스 는 현재 다음 과 같은 방법 을 정의 하여 자신의 수요 에 따라 확장 할 수 있 습 니 다.
EthApiEtherscan 은 EthApi 서 비 스 를 기반 으로 하 는 EthApi 구현 이 며,EthApiWeb 3 는 이 더 리 움 RPC 를 기반 으로 하 는 EthApi 구현 이다.예 를 들 어 아래 코드 는 Etherscan 을 사용 하여 rinkeby 테스트 체인 배치 전에 얻 은 누 드 거래 를 사용 합 니 다.
$eth = new EthApiEtherscan($your_api_key/*etherscan api key*/,4/*rinkeby*/);
$txid = $eth->sendRawTransaction($rawtx);
KeyStore 읽 기와 쓰기
KeyStore 클래스 는 geth/parity 에서 생 성 된 keystore 파일 을 읽 을 수 있 으 며,생 성 된 keystore 파일 도 geth/parity 에서 읽 을 수 있 습 니 다.
KeyStore 클래스 의 정적 방법
save()
을 사용 하여 비밀 키 를 keystore 형식 으로 지정 한 디 렉 터 리 에 기록 합 니 다.$credential = Credential::new();
$prv = $credential->getPrivateKey();
$fileName = KeyStore::save($prv,'123','./keystore')
KeyStore 클래스 의 정적 방법
load()
을 사용 하여 지정 한 keystore 파일 을 불 러 오고 비밀 키 를 복호화 합 니 다.$fileName = './keystore/....'
$prv = KeyStore::load($fileName,'123');