develop custom_top_html:no
default debug random = 4 / type = READ / detected = READ

안녕하세요.

쌩광부입니다.

 

한동안 ESN 재단 설립 때문에 너무 바빠서 강좌를 못했었는데요.

오늘 ESN 재단 구성원 모집이 완료되어 한시름 놓았습니다.

그리하여... 다시 강좌를 시작하도록 하겠습니다.

 

지난 강좌는 땡글 블로그와 스팀잇에서 보실 수 있고요.

https://steemit.com/@topmining

https://www.ddengle.com/@TopMining

 

오늘 강좌는 계정 트랜젝션 개수를 확인하는 방법인데요.

트랜젝션 개수가 왜 필요한 걸까요?

 

트랜젝션 개수는 새로운 트랜젝션을 만들기 위한 Nonce 값으로 활용됩니다.

코인을 전송하기 위해서 트랜젝션이 필요한데요.

Nonce는 그 트랜젝션의 일련번호라고 보시면 되겠습니다.

즉, 맨 처음 전송을 할 때는 트랜젝션의 일련번호는 0입니다.

그다음은 1입니다.

이런 식으로 자신의 트랜젝션이 생성될 때마다 고유한 번호를 붙여줘야 하는데요.

그때 사용하기 위해 이전에 생성된 자신의 트랜젝션의 개수를 읽어와 Nonce 값으로 적용하게 되는 것이죠.

 

1. get_txcount.php 파일을 만들고 아래와 같이 코딩합니다.

<?php

require "json-rpc.php";

require "api-config.php";

 

header('Content-type: application/json');

 

$account = array_key_exists('account', $_GET) ? $_GET['account'] : '';

 

if(strlen($account) == 42 && ctype_alnum($account) && strpos($account, '0x') >= 0) {

  $id = 1;

  $json = getEtherRpc($api_host, $api_port, 'eth_getTransactionCount', '"'.$account.'", "latest"', $id++);

 

  $data = json_decode($json, true);

  $error = array_key_exists('error', $data) ? $data['error'] : null;

 

  $result = array();

  if($error) {

    $result['error'] = $error;

  }

  else {

    $value = $data["result"];

    $result['error'] = null;

    $result['result']['count'] = hexdec(str_replace('0x', '', $value));

  }

 

  echo json_encode($result);

}

else {

  $result = array();

  $result['error']['code'] = '-1';

  $result['error']['message'] = 'Invalid address';

 

  echo json_encode($result);

}

 

한 줄 한 줄 살펴볼까요?

 

require "json-rpc.php";

require "api-config.php";

require를 이용해 필요한 파일들을 로드하고요.

 

header('Content-type: application/json');

출력 Content-type을 JSON 형태로 지정합니다.

 

$account = array_key_exists('account', $_GET) ? $_GET['account'] : '';

HTTP GET 형식으로 지갑 주소를 받습니다.

 

if(strlen($account) == 42 && ctype_alnum($account) && strpos($account, '0x') >= 0) {

지갑 주소에 대한 유효성 검사를 하고요.

 

$json = getEtherRpc($api_host, $api_port, 'eth_getTransactionCount', '"'.$account.'", "latest"', $id++);

지정된 IP와 포트로 JSON-RPC를 호출합니다.

eth_getTransactionCount는 계정 트랜젝션 개수를 받아오는 RPC 명령입니다.

id의 경우 큰 의미는 없는데 내가 보낸 RPC의 고유번호라고 보면 됩니다.

여러 명령을 한 번에 보낼 때 유용하게 사용할 수 있지만 지금은 한 건만 보내기 때문에 큰 의미는 없습니다.

 

$data = json_decode($json, true);

받아온 데이터가 JSON 문자열이므로 PHP 배열로 변경합니다.

 

$error = array_key_exists('error', $data) ? $data['error'] : null;

오류가 있는지 확인하고요.

 

$result['error'] = $error;

오류가 있는 경우 오류 메시지를 출력합니다.

 

$result['result']['count'] = hexdec(str_replace('0x', '', $value));

16진수(Hex)값으로 되어있는 개수 값을 10진수로 변경하여 출력합니다.

 

echo json_encode($result);

최종 결과값은 JSON 형태로 변경하면 되는 거죠.

 

이것으로 트랜젝션 개수 가져오는 코딩은 끝나는 거죠.

참~~ 쉽죠!

 

그럼 결과값을 봅시다.

http://서버주소/get_txcount.php?account=지갑주소

 

{

  "result": {

    "count": 10

  }

}

 

위와 같이 나오면 성공입니다.

 

이 강좌의 전체 소스는

https://github.com/topmining/ethersocial-php-api

여기서 확인하면 되고요.

오류가 있으면 언제든 제보해주시면 감사하겠습니다.

 

그럼 다음 강좌도 많이 기대해주세요~~

 

 

-------------------------------------

꼬리말

* 게시글 내용 삭제레벨 강등

* 질문은 각 주제별 게시판에 적어주세요.

 

비트코인 암호화화폐 커뮤니티 땡글~ 땡글~

-------------------------------------

4,006

쌩광부님의 서명

댓글 3
default debug random = 0 / type = READ / detected = READ

List of Articles
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
1800 개발 [UPBIT] 보조지표(RSI/Bollinger Bands) 스캘핑 봇 / 알리미 개발   - RSI/Bollinger Bands 알리미 - *과부화 방지로 최대 10개까지 셋팅 가능 - 음성알림과 텔레그램 알림 설정 가능     - RSI/Bollinger Bands 스캘핑 봇 - *과부화 방지로 최대 10개까지 셋팅 ... 2 file 1 1371
더블코어
2021.12.23
1799 개발 [정보공유] Log4j 취약점 관련 - 업데이트를 권장드립니다. 서버 관리자중에 아직 &quot;Log4j 취약점&quot; 관련 부분을 인지하지 못하신분들께 공유차 글을 씁니다.   관련사항 위험도 10 취약점 , 업데이트 안된 log4J를 쓰는 경우 임의의 문구를 사용하면 원격에... 6 file 5 8855
천재성곤
2021.12.11
1798 질문 AI TRADING DEV     AI 모델링 개발 해보려 하는데.. 참고할만한 것 머좀 있을까요.?   db에 데이터 저장은 지금 열띠미 하고 있는 중임다.                     file 0 697
잡앤엔조이
2021.12.07
1797 개발 개발회사를 운영하고 있습니다~ 채굴에 필요하신 개발 의뢰 받으려고 합니다. ^^ 개발회사를 운영하고 있습니다~   RA 개발회사를 운영하면서 주식 / 원자재 분야 가격 예측 솔루션을 가지고 있고,   웹 기반의 여러 솔루션 제작이 가능합니다.   필요하신 분에게 개발 의뢰를 ... 5 1 1693
jhyun
2021.11.29
1796 질문 윈도우 채굴 모니터링 프로그램 모니터링을 하려면 프로그램상에서 통신을 해줄 수 있도록 해주어야 합니다.  그런데 문제는 모니터링 프로그램은 화면을 캡쳐해서 전송하는 방식이기 때문에 그래픽카드 자원을 사용할 수 밖에 ... 9 2 1948
를르랄라
2021.11.03
1795 질문 Pc방에서 사용할껀데 어떤카드? Pc방에서 돌릴예정인데요.. ( 아마 땡글에도 피씨방 운영하시면서 채굴하시는분 많으신걸로...) 채굴겸 광고 하면서 운영할 생각이구요. . 현재 non 3070으로 40장 정도로 채굴은 하는중이에요..... 28 1 1333
라지라지
2021.10.27
1794 개발 [코인원] 코인 송금 API 동작       안녕하세요.  선배님들... 코인 송금 기능을 구현하고 있는데요. 코인원의 송금  api 를 이용하여 송금을 테스트하고 있는데요. 좀 어렵네요.   1. btc 송금만 되는 것 같은데...  다른 코... 0 639
부자아들
2021.10.19
1793 개발 TEO, GGoletn, TEOMiner 를 멀티 알고리즘 마이너로 바꾸려고 하는데, 참여하실분 .   TEO 관련 이전글 : https://www.ddengle.com/mining/13456002    TEOMiner 를 멀티 알고리즘 마이너로 바꾸려고 하는데, 참여하실분 .  https://github.com/tao-foundation/teominer   현재, ... 4 5 864
안씨아저씨
2021.09.25
1792 개발 이더리움 풀노드 자료 제공 ETH GETH FULL NODE 이더리움 풀노드 전체 데이타 드립니다. 이더리움 풀노드 구축해드려요.   이더리움 풀노드 구축시에  geth 로 다운로드 받을 시 20일 정도 걸리실텐데요, 24시간내에 구축할 수 있게 데이타 보... 8 0 1324
김대박
2021.07.28
1791 개발 ERC721(NFT) 토큰을 사용하는 방법에 대한 문의입니다.     안녕하세요? 항상 땡글에서 많은 도움을 받고 있습니다. 감사합니다.   제가 요즘 NFT 토큰을 개발중인데요, 신규 발행은 문제 없고, remix 에서 토큰 전송도 다 잘 됩니다. 메타마스크에서 ... 6 1 932
비폭력무저항
2021.07.15
1790 개발 토큰 활용하기 좋은 코인 계열 뭐가있을까요??     트론 고려중인데   속도 빠르고 수수료 더 적은 코인 있을까요??                 2 0 649
에피쳐
2021.07.13
1789 질문 rx580 8g 6way 전기질문점요             위 구성으로 진행한다면 전기료가 얼마나 나올까요? 일반 사무실 기준 아무것도 안썼을때 1대 기준입니다.           7 0 779
유리압
2021.07.08
1788 질문 반본체사양~         신입채린이입니다..  반본체를 구하고 있는데 추천해주실 제품이 있을까요~~               2 1 663
유리압
2021.07.08
1787 개발 Qt 코인 지갑 실행 파일로 만들기 Qt로 만들어진 코인 지갑을 배포용 실행파일로 만들려고 하는데 만드는 방법을 몰라 이렇게 글을 올립니다. 현재 라이트코인 소스를 통해 코인을 만들었고 Qt로 만들어진 코인 지갑(GUI)도 생성... 1 0 450
썬샤인
2021.07.05
1786 개발 최신 비트코인 & 라이트코인 소스로 하드포크   안녕하세요! 독학으로 깃허브의 알트코인 오픈소스를 이용해 나만의 코인을 만드는 일에 도전하고 있는 신참 땡글인입니다.   비트코인이나 라이트코인 소스로 하드포크해서 나만의 코인 만들... 7 1 1036
썬샤인
2021.06.16
1785 개발 라이트코인 오픈소스로 나만의 코인 만들기 (질문) 안녕하세요! 땡글닷컴 땡글인 여러분... 땡글닷컴에 들오온지 얼마 안되는 신참입니다.  여러 땡글인 고수분들의 도움을 받고자 이렇게 글을 올립니다.   제가 지금 라이트코인(Litecoin)0.8.4 ... 19 file 0 1314
썬샤인
2021.06.16
1784 질문 크몽에 들어가면...이더리움 기반 토큰개발을 해주는 서비스가 있습니다.     https://kmong.com/gig/192710   위 링크 입니다. 몇개 업체가 있습니다.   비용은 제작비용 + 0.5이더 가 듭니다.   혹시 위와 같은 ERC-20기반 코인을 개발해보신적이 있으시거나..   또는... 4 0 1165
준표
2021.06.09
1783 질문 채굴, 전송수수료 없는 코인이 뭐있을까요?     토큰을 하나 만들어보려고 합니다. 채굴, 전송수수료 없이 리플코인처럼 지갑에서 배포하고 싶은데 적절한 메인넷이 뭐가 있을까요??                   0 696
체어킹
2021.06.05
1782 질문 erc20 기반 코인 제작 후, 에어드랍 시 가스비 질문입니다.     안녕하세요. 가스비에 대해서 질문드릴게 있습니다. 가스가 코인을 보낼 때에 생기는 수수료 개념으로 알고 있는데요.     이더리움 기반의 ERC20 코인 만드는 법 쉽게 따라하기 (이보다 더 ... 4 2 1016
체어킹
2021.05.31
1781 개발 여름나기 채굴 스케줄 온도 체크 프로그램 안녕하세요 땡글에서 채굴 배워 몇달 전부터 시작한 초굴러입니다. 처음 채굴에 눈이멀어 놀고있는 1060, 2080 몇 대를 강제 징용해서 일시키고 하루 커피값 정도 뽑는 재미에 한동안 시간가는 ... 2 2 1125
cim
2021.05.22
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 92 Next
/ 92
default debug random = 0 / type = READ / detected = READ