Slide 1

Slide 1 text

B 2020 5 1 ( ) B 2020 — 5 1 — 2020-11-09 – p.1/23

Slide 2

Slide 2 text

https://speakerdeck.com/ks91 Discord Discord ( / / ) Zoom URL ( ) B 2020 — 5 1 — 2020-11-09 – p.2/23

Slide 3

Slide 3 text

( ) 1 10 12 • 2 10 19 • 3 10 26 • 4 11 2 • 5 11 9 1 • 6 11 16 2 7 11 30 8 12 7 4 ( 3 ) ↓ B 2020 — 5 1 — 2020-11-09 – p.3/23

Slide 4

Slide 4 text

Web API ( ) BBc-1 – Ethereum API B 2020 — 5 1 — 2020-11-09 – p.4/23

Slide 5

Slide 5 text

B 2020 — 5 1 — 2020-11-09 – p.5/23

Slide 6

Slide 6 text

2. API (1) ( ) (2) Web API 2020 11 7 ( ) 23:59 JST B 2020 — 5 1 — 2020-11-09 – p.6/23

Slide 7

Slide 7 text

. . . . . . 12 9 ( 11:00 ) ( ) / ( / ) : ( etc) ( ) ( ) ( ) B 2020 — 5 1 — 2020-11-09 – p.7/23

Slide 8

Slide 8 text

Y W ⇒ ( ) : Proof of Work ↑ : ↑ ∼ B 2020 — 5 1 — 2020-11-09 – p.8/23

Slide 9

Slide 9 text

N ← ⇒ ( ) B 2020 — 5 1 — 2020-11-09 – p.9/23

Slide 10

Slide 10 text

T Qiita ⇒ Stack Exchange B 2020 — 5 1 — 2020-11-09 – p.10/23

Slide 11

Slide 11 text

T IC IC ⇒ PUF (Physically Unclonable Function) B 2020 — 5 1 — 2020-11-09 – p.11/23

Slide 12

Slide 12 text

Web API ( ) API : Application Programming Interface Interface through which an application can make use of some features provided somewhere Web API : API by HTTP(S) requests In the case, features are provided by a web server B 2020 — 5 1 — 2020-11-09 – p.12/23

Slide 13

Slide 13 text

REST (Representational State Transfer) Stateless client/server protocol Well-defined set of methods POST, GET, PUT, DELETE vs. CRUD (Create/Read/Update/Delete) CRUD represents the basic set of operations against a database Uniquely identify resources by URI Some demonstrations later Often returns results in the form of JSON (JavaScript Object Notation) B 2020 — 5 1 — 2020-11-09 – p.13/23

Slide 14

Slide 14 text

REST – contd. Hypermedia that can handle both application information and state transitions An example of state transitions (state machines) (For example, on the web, page = state, and the page presents possible operations in that state as a set of buttons) A stack is a last-in, fast-out date store You can push data in, and pop data out A design would be like, POST to create a stack POST to push to the stack POST to pop from the stack GET to peek in the stack state PUT to update an item DELETE to delete the stack B 2020 — 5 1 — 2020-11-09 – p.14/23

Slide 15

Slide 15 text

Demonstration $ git clone https://github.com/ks91/sample-web-api.git This is a really simple sample API that provides stacks (requires Python3 and Flask) Run the simple web API server $ python stack.py See README to discover how to try At the end of this demo, we will try (5 − 2) × (3 + 4) B 2020 — 5 1 — 2020-11-09 – p.15/23

Slide 16

Slide 16 text

BBc-1 – Ethereum Ethereum https://speakerdeck.com/beyondblockchain/bbc-1-hands-on-installation-and-file-content-proof Ethereum https://speakerdeck.com/beyondblockchain/bbc-1-hands-on-ledger-subsystem-with-ethereum B 2020 — 5 1 — 2020-11-09 – p.16/23

Slide 17

Slide 17 text

( Ethereum ) จॻ  จॻ  จॻ  จॻ  จॻ O ཌ೔ͷ׭ใ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ ح਺ͷ৔߹͸ ෳ੡͢Δ ˞μΠδΣετ͸ݩͷ ɹσʔλ͕ ϏοτͰ΋ ɹҟͳΔͱશ͘ҟͳΔ஋ ɹͱͳΓɺ·ͨɺμΠδΣ ɹετ͔ΒݩͷσʔλΛ ɹਪଌ͢Δ͜ͱ͸Ͱ͖ͳ͍ɻ ɾจॻ Λ։ࣔ͞Εͨ " ࢯ͸ɺಉ࣌ʹϒϧʔͰࣔ͞ΕΔμΠδΣετͱͦΕ͕ࠨӈͷͲͪΒʹҐஔ͢Δ͔Λड͚औΔɻ ɾ" ࢯ͸จॻ  ͷμΠδΣετ͔Β࢝Ίͯɺ࿈݁͢΂͖Ұ࿈ͷμΠδΣετΛ஌Δ͜ͱʹͳΔͷͰɺϚʔΫϧϧʔτʹࢸΔ·Ͱͷ ɹܭࢉΛ࠶ݱͰ͖ɺಘΒΕͨϚʔΫϧϧʔτ͕จॻͷ࡞੒೔ͷཌ೔ͷ׭ใʹهࡌ͞Ε͍ͯΔ஋ͱҰக͢Δ͜ͱΛ֬ೝͰ͖Δɻ هࡌ͢Δ ੥ٻʹج͖ͮ ։ࣔ͞Ε͏Δ ৘ใ ެ։͞ΕΔ৘ใ ϚʔΫϧϧʔτ Ϛ ồ Ϋ ϧ ໦  ߦ ੓ ͕ อ ؅ ͠ ෦ ෼ త ʹ ։ ࣔ ͢ Δ ʜʜ ʜʜ ʜʜ ʜʜ ʜʜ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ B 2020 — 5 1 — 2020-11-09 – p.17/23

Slide 18

Slide 18 text

API B 2020 — 5 1 — 2020-11-09 – p.18/23

Slide 19

Slide 19 text

B 2020 — 5 1 — 2020-11-09 – p.19/23

Slide 20

Slide 20 text

( / ) : ( etc) ( ) ( ) ( ) miro Verifiable credentials B 2020 — 5 1 — 2020-11-09 – p.20/23

Slide 21

Slide 21 text

B 2020 — 5 1 — 2020-11-09 – p.21/23

Slide 22

Slide 22 text

3. API (1) ( ) (2) Web API 2020 11 14 ( ) 23:59 JST B 2020 — 5 1 — 2020-11-09 – p.22/23

Slide 23

Slide 23 text

B 2020 — 5 1 — 2020-11-09 – p.23/23