웹 엔지니어가 사쿠와 사내 통화를 만들어 보았습니다.
일시기의 가상 통화 붐이 조금 침착해 최근에는 시세는 완전히 차갑게 되어 버렸네요. .
그러나 블록체인 기술은 아직 앞으로입니다!
그래서 이더리움 위에서 발행한 토큰을 사용하여 Slack에서 쉽게 전송할 수 있는 사내 통화 & Slack 앱(DApps)을 만들어 보았습니다.
완제품
internal-coin
라는 bot 와 상호 작용하여 토큰을 메시지와 함께 지정된 주소로 보낼 수 있습니다.사양(명령의 상세 설명)
welcome
: welcome 메시지를 표시합니다.help
: bot 의 사용법을 설명합니다.add {address}
: 자신의 지갑 주소를 등록합니다. 이 명령으로 등록하면 Slack의 멘션과 등록한 주소가 연결됩니다.send
`{message}` to @{mention}
: @{mention} 목적지에 메시지와 함께 100ITN
토큰 보냅니다.(지금은 디버그용으로 자신에게도 보낼 수 있게 되어 있습니다.)
show message
: 자신에게 도착한 최신 메시지를 볼 수 있습니다.balance
: 자신의 ITN 토큰 잔액을 확인할 수 있습니다.자신의 계정에서 상대의 계정으로 직접 ITN 토큰을 보낼 수 있도록 하면 비밀키도 Slack bot 상에서 관리해야 하기 때문에 Owner 계정을 만들어 Owner 계정에서 사용자에게 토큰을 배포하도록 했습니다.
토큰 구현
거의
- Truffle로 시작하기 Ethereum 입문 - ERC20 토큰 만들기
- Ethereum의 ERC20 토큰으로 사내 통화 (바람)를 만들겠습니다.
- Ropsten의 테스트 넷에서 ERC20 토큰을 만들고 보냅니다.
여기를 참고하겠습니다 m
마찬가지로 ERC20 기반으로 스마트 계약을 작성하고 있습니다.
↑를 보면 토큰 발행까지 할 수 있다고 생각하므로 코드만 붙여 둡니다.
토큰 코드: GitHub internal-coin(ITN)
토큰 세부사항: Etherscan
또한 메인 넷이 아닌 Ropsten (테스트 넷)에 배포하고 있습니다.
최근에는 MetaMask(베타판)이나 Ethereum/Mist 하지만 토큰 발행만이라면 쉽게 할 수 있게 되어 있으므로 업계 정말 활발하네요.
Slack bot 만들기
Slack bot에는 botkit을 사용하고 있습니다.
완제품 코드
시작 명령
CONTRACT_ADDRESS={コントラクトのアドレス} ACCESS_TOKEN={infura のアクセストークン} MNEMONIC='{ウォレットの MNEMONIC}' BOT_TOKEN='{Slack の bot トークン}' PARENT_ADDRESS='{Owner アカウント の アドレス}' node index.js
bot의 인터페이스 코드는 /그리고 x. js에 있습니다.
스마트 계약과의 연결 코드는 /이 t 등 ct. js에 기록되어 있습니다.
contract.js
const PROVIDER = new HDWalletProvider(
config.MNEMONIC,
"https://ropsten.infura.io/" + config.ACCESS_TOKEN
);
const web3 = new Web3(PROVIDER);
const contract = new web3.eth.Contract(ABI, config.CONTRACT_ADDRESS);
PROVIDER
에서 infura 에 연결하여 블록체인에 있는 스마트 계약에 액세스하고 있습니다.function thanksMessage(address) {
return contract.methods.thanksMessage(address).call();
}
function thanks(address, message) {
return contract.methods.thanks(address, message);
}
function balanceOf(address) {
return contract.methods.balanceOf(address).call();
}
thanksMessage
, thanks
, balanceOf
를 각각 스마트 계약에서 호출합니다.요약
이러한 느낌으로 필요한 메소드를 스마트 컨트랙트상에서 정의해, 그것을 읽어내는 DApps(이번은 Slack bot)를 실장하면 비교적 바삭바삭한 그러한 것이 실장할 수 있었습니다.
블록체인 세계는 일진월보에서 개발이 진행되고 있습니다.
시세뿐만 아니라 제대로 기술을 쫓아가고 싶네요!
Reference
이 문제에 관하여(웹 엔지니어가 사쿠와 사내 통화를 만들어 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/keyi8773/items/f04459629ed565e17fc7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)