Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
NEMAPIワークショップ
Search
MasayaYoshino
June 30, 2018
Programming
160
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
NEMAPIワークショップ
MasayaYoshino
June 30, 2018
More Decks by MasayaYoshino
See All by MasayaYoshino
コミュニティと共に変化する 私とFusicの8年間
ayasamind
0
4.2k
失敗から学ぶリーダーシップ 〜部門長が踏んだ “お約束の落とし穴” 全公開〜
ayasamind
0
140
近頃のお金の重なり業界のことを調 べてみた話
ayasamind
0
150
ChatGPTで簡単! 余興に使えるAWSサーバーレスアプリ開発入門
ayasamind
0
770
コミュニティがもたらすエンジニアの あり方・働き方とは
ayasamind
0
190
明星和楽2019/エンジニアが活躍する世界とエンジニアの意義
ayasamind
0
96
テストなしでそれ動いてるの?って言われてテストはじめました
ayasamind
0
560
JSでFirebaseのML Kitを使う
ayasamind
0
2k
NuxtとLaravelを連携する上でやったこと
ayasamind
1
1.1k
Other Decks in Programming
See All in Programming
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.1k
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
280
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
140
wkhtmltopdfの次どうするか問題2026
willnet
2
1.8k
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.5k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
400
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
1
680
Heart of Swift Concurrency
koher
0
1.1k
setup-vp GitLab対応の裏側
naokihaba
0
140
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
610
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
360
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1k
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
1
240
The Cost Of JavaScript in 2023
addyosmani
55
10k
Accessibility Awareness
sabderemane
1
220
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
250
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
710
How to train your dragon (web standard)
notwaldorf
97
6.8k
Rails Girls Zürich Keynote
gr2m
96
14k
Abbi's Birthday
coloredviolet
4
10k
エンジニアに許された特別な時間の終わり
watany
109
250k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
480
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
600
The Invisible Side of Design
smashingmag
301
52k
Transcript
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ ҙࣄ߲ ɾ͜ͷϫʔΫγϣοϓʲϓϩάϥϛϯάॳ৺ऀ͚ʳͰ͢ɻ ɾطʹNEMͷAPIΛ༻ͨ͜͠ͱͷ͋Δํʹ؆୯ͳ༰ͱͳΓ·͢ɻ ɾͦͷͨΊɺ্ڃऀͷํ༰Λฉ͔ͣʹίʔώʔΛҿΈͳ͕Β͘ ͘࡞ۀ͍͍ͯͨͩͯ͠ɺϫʔΫγϣοϓʹࢀՃͯ͠େৎͰ͢ɻ ɾڞ༗ϑΝΠϧͪ͜Β(https://www.dropbox.com/sh/ l0fpzw973nxqwgs/AAABcSncNZuNalC-Md0hsLjua?dl=0)
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ 1.NEM-APIΛͬͯΈΑ͏!!!
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ 1.͓ख࣋ͪͷNEMΞυϨεΛ४උ! 2. ҎԼͷURLʹΞΫηε!! http://alice2.nem.ninja:7890/account/get?address=ࣗ ͷNEMΞυϨε ※FirefoxͰ։͘ͱݟқ͍͔ ※ΞυϨεͷϋΠϑϯ(-)আ͍ͯͩ͘͠͞
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ ͜ΕͰNEM-API͕͑·ͨ͠!স
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ͱ͜ΕΛWebϖʔδͰදࣔͰ͖ΔΑ͏ʹ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ 1.ڞ༗ϑΥϧμͷʮfirst.htmlʯΛσεΫτοϓ ʹμϯϩʔυ 2.ࢦఆݸॴΛมߋ ͜͜ʹࣗͷ/&.ΞυϨεΛೖΕΔ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ ͜Μͳײ͡ʹͳΓ·͢
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ 1.ϑΝΠϧΛChromeͰ։͘ 2.[։ൃऀπʔϧ]→[ίϯιʔϧ]Λදࣔ 3.ʮߴ֬ೝϘλϯʯΛΫϦοΫ 4. ίϯιʔϧͷදࣔΛ֬ೝ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ ͜Μͳײ͡Ͱද͕ࣔ͞Ε·͢ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ ͜ͷσʔλΛը໘্ʹܗͯ͠දࣔ͢Δ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ ߦΛՃ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ ϘλϯΛԡ͢ͱΞυϨεͱNEMߴ͕දࣔ͞Ε·͢
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ ҙͷΞυϨεͷߴΛ֬ೝͯ͠ΈΔ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ ҎԼͷίʔυΛमਖ਼ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ มߋ Ճ มߋ আ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ ೖྗͨ͠ΞυϨεͷߴΛදࣔ͠·͢ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ NEMΞυϨεͷੜΛͯ͠ΈΔ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ ͔͜͜Βͪΐͬͱ͘͠ͳΓ·͢ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ 1. NEM-SDKͷgithubʹΞΫηε https://github.com/QuantumMechanics/ NEM-sdk 2. ϑΝΠϧΛμϯϩʔυ͢Δ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ 3. μϯϩʔυͨ͠ϑΝΠϧΛσεΫτοϓʹ ஔ 4. ҎԼͷίʔυΛՃ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ 3. μϯϩʔυͨ͠ϑΝΠϧΛσεΫτοϓʹ ஔ 4. ҎԼͷίʔυΛՃ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ NEMΞΧϯτੜίʔυΛՃ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ ͕͢͞ʹਏ͍ͷͰίϐϖͰ͍͍Ͱ͢Αw var nem = require("nem-sdk").default; const networkId = nem.model.network.data.mainnet.id;
const rBytes = nem.crypto.nacl.randomBytes(32); const privateKey = nem.utils.convert.ua2hex(rBytes); const keyPair = nem.crypto.keyPair.create(privateKey); const address = nem.model.address.toAddress(keyPair.publicKey.toString(), networkId); const publicKey = keyPair.publicKey.toString(); const neminfo = { address: address, privateKey: privateKey, publicKey: publicKey, }; console.log(neminfo); NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Consoleʹදࣔ͞ΕΔ͜ͱΛ֬ೝ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ ※࣮ࡍʹ༻͢ΔΞΧϯτͰprivateKey ެ։NG!!!!! Ϧϩʔυ͢ΔͱผͷΞυϨεʹߋ৽͞Ε·͢ɻ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ ࡞ͨ͠ΞυϨεΛը໘ʹදࣔ͢Δ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ ҎԼͷίʔυΛՃ͢Δ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ Ճ Ճ
NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ දࣔΛ֬ೝ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ
QR ࡞ͨ͠ΞυϨεΛQRίʔυͰදࣔ͢Δ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ
QR ͦͦNEMͷQRίʔυʹͲΜͳใ͕ ࡌͬͯΔΜͩΖ͏ʁ NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ
QR ٢ͷΞυϨε NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ ͜ΕΛNEMΞϓϦ Ͱͳ͍௨ৗͷQR εΩϟφͰಡΈऔͬͯΈΔ
QR ٢ͷΞυϨε NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ {“v”:2, “type”:”1”, “data”:{ “addr”:”NEMΞυϨε”, “name”:”Primary” }
}
QR NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ ͜ͷจࣈྻΛQRίʔυʹมͰ͖ΕΑ͍
QR NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ ͬͯΈΑ͏ʂ
QR NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ 1. jQuery-qrcode-masterΛσεΫτοϓʹΠ ϯετʔϧ https://github.com/jeromeetienne/jquery- qrcode
QR NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ 1. σεΫτοϓͰZipϑΝΠϧΛղౚ 2. ҎԼͷίʔυΛه Ճ
QR NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ ҎԼͷίʔυՃ Ճ
QR NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ ҎԼͷίʔυՃ Ճ console.log(neminfo); $('.myAddress').text(neminfo.address); var qr =
{ "v": 2, "type": 1, "data": { "addr": neminfo.address, "name": "Primary" } }; $('#qrcode').qrcode({width: 200, height: 200, text: JSON.stringify(qr)}); Ճݸॴ
QR NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ දࣔΛ֬ೝ
QR NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ QRίʔυΛ͓ख࣋ͪͷNEMΞϓϦͰಡΈࠐΉ (ઈରʹૹۚ͠ͳ͍Ͱ͍ͩ͘͞!!!)
QR NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ ͋ͱΥϨοτ͢ΔͨΊʹඞཁͳͷ
QR NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ ૹۚ!
QR NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ ૹۚ!
QR NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ let PRIVATEKEY = ൿີ伴; let VOLUME =
ૹΔNEMͷྔ; let PASSWORD = ΥϨοτͷύεϫʔυ; let MESSAGE = ϝοηʔδ; let endpoint = nem.model.objects.create('endpoint')('http:// hachi.nem.ninja', nem.model.nodes.defaultPort); let common = nem.model.objects.create('common')(PASSWORD, PRIVATEKEY); let transferTransaction = nem.model.objects.create('transferTransaction') (PRIVATEKEY, VOLUME, MESSAGE); let preparedTransaction = nem.model.transactions.prepare('transferTransaction')(common, transferTransaction, nem.model.network.data.mainnet.id); nem.model.transactions.send(common, preparedTransaction, endpoint).then(function(res){ console.log(res); }, function(err){ console.log(err); }); ίʔυ͚ͩɺΞοϓ͓͖ͯ͠·͢ (ୠ͠ɺຊ൪ϓϩμΫτͰ༻͠ͳ͍Ͱ͍ͩ͘͞ɺൿີ伴ͷ҉߸Խ͕ඞཁͰ͢ɻ)
QR NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ Ճ Ҏ্ɺNEMΞϓϦ։ൃϫʔΫγϣοϓ&͘ ͘ձͰͨ͠ɻ ͜ΕΛ͖͔͚ͬʹNEMͷ͓खܰ͞Λ͍ͬͯ ͚ͨͩΔͱخ͍͠Ͱ͢ɻ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ
QR Ճ ٳܜ
λΠϜςʔϒϧ ࣌ؒ ༰ 17:00ʙ19:00 NEMΞϓϦ։ൃϫʔΫγϣοϓ&͘͘ձ 19:00ʙ19:15 catapult͍ͬͯ͡ΈͨΑ(@planethouki) 19:15ʙ19:30 NEMͷࣗಈҾ͖མͱ͠ΞϓϦ࡞ͬͨΑ(@ayasamind) 19:30ʙ20:45
ަྲྀձ 21:00 ऴྃ༧ఆ