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時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
1.9k
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
160
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
6
2.5k
すこし踏み込む CancellationToken
htkym
2
1.2k
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
410
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
390
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
330
JRuby: Past, Present, and Future
headius
0
210
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
210
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
260
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
380
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
240
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
How to build a perfect <img>
jonoalderson
1
6k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
Scaling GitHub
holman
464
140k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Ruling the World: When Life Gets Gamed
codingconduct
0
360
Skip the Path - Find Your Career Trail
mkilby
1
240
Ethics towards AI in product and experience design
skipperchong
2
380
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.1k
4 Signs Your Business is Dying
shpigford
187
23k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
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 ऴྃ༧ఆ