Azure Functions를 사용하여 서버리스 환경에서 nem2-sdk로 정기 송금 해보기
13535 단어 AzurecatapultBlockchainNEM
개요
Azure Functions에서 nem2-sdk를 사용하는 방법을 살짝 씁니다.
기본적으로 nem2-sdk를 사용할 수 없으므로 설치합니다. 그러나 Functions 버전이 v2가 아니면 라이브러리를 설치할 수 없습니다.
설치는 웹 화면의 콘솔에서 수행됩니다. 이 작업이 끝나면 함수를 만들고 코드를 입력합니다. 내용은 한 계정에서 다른 계정으로의 송금입니다.
함수는 트리거를 타이머로 만들고 정기적으로 시작합니다.
예를 들어, 점심시간이 되면 자동적으로 점심밥이 송금된다고 하는 사용법이 생길지도 모릅니다.
리소스 생성

품목
설명
앱 이름
모든 이름
구독
선택할 수있는 사람 중 하나
자원 그룹
확실하지 않으면 새로 만들기
OS
우선 Windows
위치
선택
스토리지
확실하지 않으면 새로 만들기
Application Insights
켜짐
Application Insights 위치
선택

Functions App 설정
이것을 클릭


아래쪽으로 스크롤
FUNCTIONS_EXTENSION_VERSION
를 beta
로 한다.WEBSITE_NODE_DEFAULT_VERSION
를 10.6.0
라든지 8.11.1
라든지, nem2-sdk가 요구하고 있어 Azure Functions가 대응하고 있는 Node.js의 버젼으로 한다.
위쪽으로 스크롤
저장하다

Azure Functions가 지원하는 Node.js 버전

런타임 버전

nem2-sdk 설치

명령을 입력합니다.
느립니다. 5 분 정도 걸립니다. 커피도 마시자.
echo { "dependencies": { "nem2-sdk": "^0.10.1" } } > package.json
npm install

함수 만들기

만들기

또는이 화면이 나오면,

이 부분에 다음 코드로 바꾸고 저장합니다.

다음 코드
module.exports = function (context, myTimer) {
var timeStamp = new Date().toISOString();
if(myTimer.isPastDue)
{
context.log('JavaScript is running late!');
}
context.log('JavaScript timer trigger function ran!', timeStamp);
const nem2Sdk = require("nem2-sdk");
const Address = nem2Sdk.Address,
Deadline = nem2Sdk.Deadline,
Account = nem2Sdk.Account,
UInt64 = nem2Sdk.UInt64,
NetworkType = nem2Sdk.NetworkType,
PlainMessage = nem2Sdk.PlainMessage,
TransferTransaction = nem2Sdk.TransferTransaction,
TransactionHttp = nem2Sdk.TransactionHttp,
XEM = nem2Sdk.XEM;
const recipientAddress = 'SB2Y5ND4FDLBIO5KHXTKRWODDG2QHIN73DTYT2PC';
const transferTransaction = TransferTransaction.create(
Deadline.create(),
Address.createFromRawAddress(recipientAddress),
[XEM.createRelative(1)],
PlainMessage.create('Welcome To NEM'),
NetworkType.MIJIN_TEST,
);
const privateKey = '7808B5B53ECF24E40BE17B8EC3D0EB5F7C3F3D938E0D95A415F855AD4C27B2A4';
const account = Account.createFromPrivateKey(privateKey,NetworkType.MIJIN_TEST);
const signedTransaction = account.sign(transferTransaction);
context.log("hash: " + signedTransaction.hash);
const transactionHttp = new TransactionHttp('http://catapult48gh23s.xyz:3000');
transactionHttp.announce(signedTransaction).subscribe(
x => {
context.log(x);
context.done();
},
err => {
context.log.error(err);
context.done();
}
);
};
함수 실행
실행 버튼을 누르면 즉시 실행할 수 있습니다.
완료까지 1분 정도 걸립니다.

타이머 설정
매분 시작

결과

계속 움직이는 것은 아닙니다.
사용한 계정
사용한 계정
Sender:
private: 7808B5B53ECF24E40BE17B8EC3D0EB5F7C3F3D938E0D95A415F855AD4C27B2A4
public: 5D9513282B65A12A1B68DCB67DB64245721F7AE7822BE441FE813173803C512C
address: SBWEUWON6IBHCW5IC4EI6V6SMTVJGCJWGLF57UGK
Reciever:
private: 31B96EEB0C7FD6F8FB6B4ED09A9EB142A42B194AFBEB9EB52F0B79889F22326E
public: 3390BF02D2BB59C8722297FF998CE89183D0906E469873284C091A5CDC22FD57
address: SB2Y5ND4FDLBIO5KHXTKRWODDG2QHIN73DTYT2PC
사용한 네트워크
사용한 수도꼭지
Reference
이 문제에 관하여(Azure Functions를 사용하여 서버리스 환경에서 nem2-sdk로 정기 송금 해보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/planethouki/items/5ba43a06252d903e6100
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
매분 시작

결과

계속 움직이는 것은 아닙니다.
사용한 계정
사용한 계정
Sender:
private: 7808B5B53ECF24E40BE17B8EC3D0EB5F7C3F3D938E0D95A415F855AD4C27B2A4
public: 5D9513282B65A12A1B68DCB67DB64245721F7AE7822BE441FE813173803C512C
address: SBWEUWON6IBHCW5IC4EI6V6SMTVJGCJWGLF57UGK
Reciever:
private: 31B96EEB0C7FD6F8FB6B4ED09A9EB142A42B194AFBEB9EB52F0B79889F22326E
public: 3390BF02D2BB59C8722297FF998CE89183D0906E469873284C091A5CDC22FD57
address: SB2Y5ND4FDLBIO5KHXTKRWODDG2QHIN73DTYT2PC
사용한 네트워크
사용한 수도꼭지
Reference
이 문제에 관하여(Azure Functions를 사용하여 서버리스 환경에서 nem2-sdk로 정기 송금 해보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/planethouki/items/5ba43a06252d903e6100
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
사용한 계정
Sender:
private: 7808B5B53ECF24E40BE17B8EC3D0EB5F7C3F3D938E0D95A415F855AD4C27B2A4
public: 5D9513282B65A12A1B68DCB67DB64245721F7AE7822BE441FE813173803C512C
address: SBWEUWON6IBHCW5IC4EI6V6SMTVJGCJWGLF57UGK
Reciever:
private: 31B96EEB0C7FD6F8FB6B4ED09A9EB142A42B194AFBEB9EB52F0B79889F22326E
public: 3390BF02D2BB59C8722297FF998CE89183D0906E469873284C091A5CDC22FD57
address: SB2Y5ND4FDLBIO5KHXTKRWODDG2QHIN73DTYT2PC
사용한 네트워크
사용한 수도꼭지
Reference
이 문제에 관하여(Azure Functions를 사용하여 서버리스 환경에서 nem2-sdk로 정기 송금 해보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/planethouki/items/5ba43a06252d903e6100텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)