[node.js 스팀봇 강좌] #4. 인증키 등의 정보를 외부 파일에 저장하기

in #kr-dev7 years ago (edited)

지난 연재

[node.js 스팀봇 강좌] #1. steem.js 라이브러리 이용하기
[node.js 스팀봇 강좌] #2. steem.js를 이용해서 보팅해보기
[node.js 스팀봇 강좌] #3. steem.js를 이용해서 포스팅 올리기


steem.js에서 제공하는 api 함수를 호출하기 위해서는 보통 인자로 wif라는 형식의 인증키값을 넣어야 합니다.

하지만 인증키와 같은 중요한 정보가 담긴 텍스트 문자열을 소스코드 여기저기에 노출시키는 것은 매우 위험한 일입니다.

특히 소스코드에 인증키가 그대로 노출되어 있다면 인터넷 상에서 질문과 같이 소스코드를 공유하는 과정에서 의도치 않게 인증키가 유출될 수도 있기 때문이죠.

참고로, 스팀잇은 이와 같은 위험성을 알고 있기 때문에 인증키 자체를 4개로 나누어, 모든 권한을 가진 인증키는 되도록 사용하지 않고 포스팅이나 보팅용 인증키(posting key) 또는 송금이나 이체를 위한 인증키(active key)를 사용하도록 권고하고 있습니다.

그래서 이번 강좌에서는 이와같은 중요정보를 별도의 파일로 빼내어 다른 소스코드에서 쉽게 가져다 쓰는 방법을 알려드리도록 하겠습니다.

javascript와 node.js의 특성으로 인해 매우 간편하게 외부 파일에 주요 정보를 저장하고 가져다 쓸 수 있습니다.

1단계: 데이터 저장용 외부 파일

  • 먼저 정보를 저장할 파일로 config.json 파일을 생성합니다.(파일명은 자유입니다)
  • 그리고 이 파일에 저장할 데이터를 json 형식에 맞추어 저장합니다.
  • 소스코드에서 config.json파일의 내용을 간편히 이용할 수 있는 이유도 json 형식이기 때문에 가능한데, javacript는 내부적으로 모든 객체(변수,함수, 기타 모든 정보)를 json으로 읽고 쓰기 때문입니다.

2단계: 소스코드에서 외부파일 불러오기

  • 외부파일을 불러와서 사용하는 것은 javascript와 node.js의 기본적인 함수인 require() 하나로 해결이 됩니다.
  • config = require('./config.json')과 같은 형태로 저장 파일을 인자로 이 함수를 호출하게 되면, config.json파일에 저장된 정보가 json 객체의 형태로 프로그램에 로드됩니다. 참고로 ./ 는 현재 폴더를 의미하며 위 폴더는 ../ 이고 하위 폴더는 ./폴더명/ 과 같이 됩니다.
  • 이렇게 불러온 config 객체는 '.' 문법을 통하여 상세 정보를 추출할 수 있습니다.

3단계: 외부파일 정보 조회 결과 화면

자바스크립트의 창시자 Brendan Eich와 node.js. 개발자 Ryan Dahl에게 찬사를 보냅니다~ ^^

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63630.04
ETH 2656.44
USDT 1.00
SBD 2.81