CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·아이포니앙 ·주식한당 ·MaClien ·일본산당 ·방탄소년당 ·개발한당 ·자전거당 ·안드로메당 ·소시당 ·노젓는당 ·나스당 ·디아블로당 ·이륜차당 ·골프당 ·여행을떠난당 ·가상화폐당 ·AI그림당 ·육아당 ·3D메이킹 ·냐옹이당 ·AI당 ·요리한당 ·걸그룹당 ·바다건너당 ·개판이당 ·덕질한당 ·꼬들한당 ·리눅서당 ·빨콩이당 ·e북본당 ·찰칵찍당 ·야구당 ·물고기당 ·키보드당 ·X세대당 ·ADHD당 ·날아간당 ·사과시계당 ·배드민턴당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·문명하셨당 ·클래시앙 ·클다방 ·콘솔한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·동숲한당 ·날아올랑 ·전기자전거당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·IoT당 ·KARA당 ·어학당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·PC튜닝한당 ·그림그린당 ·소풍간당 ·심는당 ·패스오브엑자일당 ·라즈베리파이당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·테스트당 ·공대시계당 ·터치패드당 ·트윗당 ·창업한당 ·VR당 ·시계찬당 ·WebOs당 ·소셜게임한당 ·위스키당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

가상화폐당

질문 고팍스 API 쓰시는 분 계시나요? 15

2018-02-09 01:57:59 수정일 : 2018-02-09 02:51:43 124.♡.14.121
카켈

POST 쪽 orders 명령 내리는 부분에서 계속 막히네요.

거래소에 물어봐도 2주째 답변이 없어서 거의 포기상태입니다.


https://www.gopax.co.kr/API 에 재공하는 API 들에서 HMAC 관련 문제를 해결하고

나머지 GET/DELETE 명령문들은 자체 구현해봤지만, POST 의 orders 에서

포기상태입니다. 예제 코드의 버그까지 잡아가면서 시도는 하지만 이건 정말 어렵네요.


막힌 부분이 뭔가하면, 예를 들어 아래 문장을 HMAC 으로 서명하고

1518108604.176POST/orders{"type":"limit","price":"100.0","amount":"1.0","side":"buy","tradingPairName":"ETH-KRW"}


POST 값에

'"{\'type\': \'limit\', \'price\': \'100\', \'amount\': \'10\', \'side\': \'buy\', \'tradingPairName\': \'ETH-KRW\'}"'


해서 Server 에 넣으면 아래의 오류 메시지가 나옵니다.

{"errormsg":"Error: Invalid order type"}


보통 Signature 가 문제가 있으면

{"errormsg":"Error: Invalid signature"}

가 나오는데, 제가 연습하고 있는 코드에서는 규칙데로 해서 인식은 되는거 같습니다.


혹시 비슷한 문제 해결하신분 계시나요?

Node JS 나 Python 모두 헛탕입니다

카켈 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [15]
조제리
IP 208.♡.4.177
02-09 2018-02-09 02:17:39
·
post body json을 encode해야하는거 아닐까요
카켈
IP 124.♡.14.121
02-09 2018-02-09 02:28:53 / 수정일: 2018-02-09 02:29:54
·
말씀하신 내용을 비슷하게

body = {'type': 'limit', 'side': 'buy', 'price': 100.0, 'amount': 1.0, 'tradingPairName': 'ETH-KRW'}
...
curl_handle.setopt(curl_handle.POSTFIELDS , base64.b64encode(str(body).encode('utf-8')))
...

이런식으로 넣어서 전달하면 서버가 JSON 문장을 제대로 인식하지 못해서 504 Gateway Time-out 오류가 뜨네요


조제리
IP 169.♡.216.40
02-09 2018-02-09 02:35:48 / 수정일: 2018-02-09 02:38:00
·
카켈님 // 그렇군요. 아니면 price가 소수점이 있어서 그럴 수도 있고요. 혹시 모르니 일단 amount도 정수로 해보세요 // 추가 예제에 보니 price랑 amount는 str이 아니던데 이게 버그인가요?
카켈
IP 124.♡.14.121
02-09 2018-02-09 02:40:59
·
버그인거 같기도 하고, 아리송하네요. GET 쪽 명령문들은 숫자 파라미터를 문자열로 쓰고 있습니다.
카켈
IP 124.♡.14.121
02-09 2018-02-09 02:49:52
·
@조제리님 price 와 amount 를 숫자로 쓰나 문자로 쓰나 똑같이 order type 오류가 나는 걸로 봐서는 POST 쪽 문자열이 제대로 전달이 안되는거 같습니다.
삭제 되었습니다.
카켈
IP 124.♡.14.121
02-09 2018-02-09 02:34:32 / 수정일: 2018-02-09 02:35:13
·
그전에 해결되면 좋을텐데, 나중에 동작되시면 노하우 좀 알려주시면 감사하겠습니다.
고팍스는 API 는 있는데, 온전한 예제코드가 없어서 쓰기가 어렵네요ㅠ
ProL
IP 223.♡.188.9
02-09 2018-02-09 02:55:14
·
일부 파서들이 지원하긴 하지만 Json 표준에서 작은따옴표는 허용하지 않습니다. 큰 따옴표로 바꿔서 해보세요.
카켈
IP 27.♡.242.78
02-09 2018-02-09 12:10:28
·
조언감사합니다. 저녁에 다시한번 확인해봐야겠네요.
큰따옴표로 바꾸니깐 Signature 오류가 나덨걸러 기억나는데, 파라미터 조금씩 변경해서 다시 해보겠습니다.
카켈
IP 124.♡.14.121
02-11 2018-02-11 22:34:01 / 수정일: 2018-02-11 22:34:40
·
말씀하신데로 하니깐 신기하게 되네요. 고팍스에 문의해서 받은 샘플 코드와 비교해서 암호화할 메시지를 봐서 제 코드도 작은 따옴표를 큰따옴표로 변경해봤더니 당황스럽게 되네요. 며칠 고민했는데 ...
정말 알다가도 모르는 세상이네요ㅠ
ProL
IP 1.♡.84.207
02-14 2018-02-14 21:48:08
·
그래서 표준을 잘 봐두는게 중요합니다. 잘 된다니 다행이네요.
고수닷컴
IP 14.♡.102.139
03-22 2018-03-22 17:06:19
·
가겔님 저도 여기서 막히는데
실행하면 시그니쳐오류가 뜨는데 뭐가 잘못된걸까요?

"로 바꾸어 봤는데 안되네여..

var body = {
type: "limit",
side: "buy",
price: 100.0 ,
amount: 1.0 ,
tradingPairName: "ETH-KRW"
};
// 필수 정보를 연결하여 prehash 문자열을 생성함
var what = nonce + method + requestPath + body;


카켈
IP 27.♡.242.78
03-22 2018-03-22 17:18:51
·
숫자도 " 로 묶어서 해보시겠어요?
고수닷컴
IP 14.♡.102.139
03-23 2018-03-23 15:48:52 / 수정일: 2018-03-23 15:53:23
·
카겔님 질문좀드리겠습니다
POST방식으로 넘길때 이방법이 맞는지요....

var body = JSON.stringify({
type : "limit",
side: "buy",
price: "10000",
amount: "1",
tradingPairName : "ETH-KRW"
});
var what = nonce + method + requestPath+body;
이렇게 했는데 시그네쳐오류가 나오네여..

hmac.update(what)에서 what 변수 디버그찍어보니
"1521787638969000POST/orders{"type":"limit","side":"buy","price":"10000","amount":"1","tradingPairName":"ETH-KRW"}"
이렇게 나오는데 가겔님하고 차이가없는거같은데 잘안되네여..





카켈
IP 124.♡.14.121
03-25 2018-03-25 15:37:35 / 수정일: 2018-03-25 15:38:38
·
차이가 없어 보이는데, Request 쓰실때 Header 값이랑 Body 값이 다르면 문제가 될거 같습니다.

Node.JS 기준으로
var what = nonce + method + requestPath + body;var key = Buffer(secret, 'base64');var hmac = crypto.createHmac('sha512', key);var return_str = hmac.update(what).digest('base64');request({ url : 'https://api.gopax.co.kr' + requestPath, headers : { 'API-KEY' : api_key, 'SIGNATURE' : return_str, 'NONCE' : nonce, }, method : "POST", body : body});으로 해보세요.
고수닷컴
IP 14.♡.102.139
03-25 2018-03-25 15:54:02
·
카켈님 고맙습니다. 잘해결되었네여.. 정말감사합니다.
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.