[steem-js] Transfer 예제

in #kr-newbie7 years ago

안녕하세요.
@jongeun 입니다.

다들 아시겠지만, Transfer는 지갑 메뉴에서 제공하는 기능입니다.

특별한 불편함 없이 잘 만든 기능입니다.
하지만, 특정 조건을 만족되면 송금하거나 동시에 많은 사람들에게 동일한 금액을 송금하는데는 불편함이 있습니다.

그래서 코드로 구현하는 방법을 살펴보았고, 혹시 필요하신 분들을 위해 포스팅 합니다.

var steem = require('steem');
var config = require('./data/config.json');
var toUser = config.toUsers;
var account = config.accounts[0];
initAccount();

for (var i=0; i<toUsers.length; i++){
    steem.broadcast.transfer(account.wif, account.name, 
            toUsers[i].name, "0.100 SBD", "This is memo", function(err, result) {
        console.log(err, result);
    });
}

function initAccount(){
    account.wif = steem.auth.toWif(account.name, account.password, 'active');
}

위의 코드는 config 파일에 등록된 from 유저의 0.1 스팀달러를 to 유저들에게 송금하는 예제 입니다. (to 유저는 복수입니다.)

주요 함수를 살펴보겠습니다.

steem.auth.toWif(name, password, role)

위의 함수는 사용자의 로그인 계정명과 비밀번호를 통해 role의 권한이 있는 privateKey를 획득하는 함수입니다.
아래 스크린샷과 같이 [Wallet]->[Permission] 메뉴를 통해 접속할 때, 우측에 있는 [Show private key] 버튼을 누를 때 나오는 값과 toWif의 결과는 동일합니다.

steem.broadcast.transfer(wif, from, to, amount, memo, function(err, result))

위의 함수는 from이 to에게 amount 의 금액을 송금하는 함수 입니다.
송금 권한을 확인하기 위하여 toWif 함수를 통해 획득한 'ACTIVE' Private key 가 필요합니다.

이상으로 [steem-js] Transfer 예제에 대한 포스팅을 마치겠습니다
참 쉽죠?

Sort:  

참 쉽죠~ 라는 말씀이 왜 놀리는 것처럼 들릴까요?ㅋㅋㅋㅋㅋ

이런... 다음엔 글을 쉽게 작성해야겠습니다.

좋은 정보 감사합니다~ 개인적으로 스팀잇 계정관련 기능 도입은 고민이 많습니다. 아무래도 스팀잇 외에서 계정정보 입력은 완전 꺼려지는 일이기 때문에요 ㅜ.ㅜ

맞습니다. 본인 지갑을 다른사람에게 맡긴다는 건데, 다른 사람을 어떻게 믿을 수 있나요? 저도 그래서 뭔가를 만들어 서비스 하는 것보단 코드로 서비스를 공유하는 것이 좋겠다는 생각을 해봅니다.

config.json 에 private key 를 저장하는 것 같은데,
조심해야 할것 같아요~

네. 혹시 안전하게 보관하는 방법이 있나요?

한개도 안쉬워요ㅠㅠ
1도 못알아 듣고 가는 문과생 올림^^