이 글은 2018-8-25 23:11에 malakashi가 마지막으로 편집했습니다.
작년부터 블록체인 사업을 개발해왔습니다. 최근에 이더리움과 PHP를 사용해봤는데, 이 주제에 대해 이야기해야겠다고 생각했습니다. 여기 전제가 있습니다: - 1. 블록체인 이해하기
- 2. 프로그래밍 언어에 대한 이해
이 글에서 얻을 수 있는 주요 내용: - 1. 개발 환경
- 2. 이더리움의 도입
- 3. JSON-RPC 호출 준비
- 4. PHP로부터의 접근
1. 개발 환경저희는 Ubuntu 14.04 LTS를 사용할 예정입니다. 운영체제를 설치한 후에는 미리 정해진 명령어를 입력하세요. 그 후 SSH, iptables, ntp 등을 설정했습니다. 그리고 Apache + PHP가 있습니다. PHP 버전은 5.5 버전입니다.
2. 이더리움의 도입이번에는 GO 언어로 만든 이더리움 노드인 go-ethereum, 약칭 geth를 사용할 예정입니다. 먼저 저장소를 추가해 봅시다. 그 다음에는 그냥 설치하세요. 설치가 완료되는 즉시 게스를 발사하세요. 먼저, 데이터 카탈로그를 만들고 첫 번째 블록(제네시스 블록)의 설정을 설명하세요. 다음으로 Genesis 블록을 만들고 Geth를 시작하세요. 콘솔 모드에서는 부팅이 성공합니다. 여러 가지 옵션이 명시되어 있으며, 그 설명은 아래에 요약되어 있습니다. - networkid는 퍼블릭 노드에 연결됩니다.
- 포트는 대기용 포트입니다. 그래서 4자리 번호로 바꿨습니다.
- 노드가 자동으로 볼 수 없도록 하는 설정인 NoDiscover입니다.
- Datadir는 블록체인이 데이터를 저장하는 디렉터리를 지정합니다.
- 콘솔은 시작과 동시에 콘솔을 실행합니다.
좋아, 다음 PHP 호출 준비해, 하지만 그 전에 게스 쪽 준비를 더 하자. 3. JSON-RPC 호출 준비PHP에서 JSON-RPC를 통한 접근. 여기서 동네를 조성할 거야. 먼저, 현재 계좌 정보를 얻습니다. 지난번에 출시한 게스 콘솔도 사용합니다. 아직 계정을 만들지 않았기 때문에 꼭 만들어야 합니다. 계정이 이제 생성되었습니다. 채굴하면서 보상을 받을 수 있도록 설정했습니다. 다음으로, 현재 노드가 RPC 호출을 허용하지 않으므로, 옵션을 추가하고 다시 시작하세요. 먼저 게스를 끝내자. 옵션을 추가하고 다시 시작해 봅시다 RPC에 대한 여러 옵션이 추가되었습니다. 설명은 다음과 같습니다. - RPC를 대기시키기 위해 RPC를 허용합니다.
- rpcaddr, 즉 RPC 대체 IP를 위한 IP 주소입니다.
- RPC를 듣기 위해 사용된 포트인 RPCport. 포트 번호를 4자리로 낮췄습니다.
- RPCCORSDOMAIN은 RPC에 접근할 수 있는 도메인입니다. 노드를 게시할 때 "*"이면 모든 것을 허용한다는 점에 유의하세요.
노드 쪽이 이제 준비되었습니다. 다음은 PHP에서 전화할 예정입니다. 4. PHP로부터의 접근마지막으로, PHP에서 접근하되 PHP를 가지고 있는 이유가 있는데, PHP는 꽤 어렵고 코드를 작성할 때 사용할 수 있기 때문입니다이것。 README에서 보시다시피, 클래스를 생성하기만 하면 됩니다. 테스트 스크립트와 같은 디렉터리에 넣어 사용해 봅시다. 이 스크립트를 실행하면 다음과 같은 계정 목록이 나타날 것입니다.
연결이 안 되면 포트 설정 등을 확인해 보세요. 지금까지 간단히 설명했지만, PHP로 개발하는 게 의외로 쉽지 않나요? 스마트 계약에 관해서는 조금 더 복잡해져서, 나중에 자세히 다루겠습니다. 또한, 이더리움에서 블록체인이 어떻게 사용되는지 직접 보고 싶다면 이 사이트를 확인해 보세요http://xc.hubwiz.com/course/5b36629bc02e6b6a59171de3?affid=825itsvse주로 스마트 계약 개발, 상호작용, 계정 생성, 거래, 전송, 토큰 개발, 필터 및 이벤트 등에 PHP를 도입했습니다.
|