<style> .reveal { font-size: 32px; } </style> ![](https://hackmd.io/_uploads/Skguz-965.png) ------ ### Composable WebAssembly<br/>*Made Easy* --- ![](https://hackmd.io/_uploads/HkBurbqp5.png) [polywrap.io](https://polywrap.io) --- ## Prior Knowledge - Software Development - WebAssembly (Wasm) - IPFS & IPLD --- <img src="https://hackmd.io/_uploads/HJ95Gbc6c.png" width="250" height="250" /> ## Goals - Understand Polywrap - Envision Use-Cases - Learn How To Get Started --- ## Structure 1. What is Polywrap? 3. Broader Ecosystem Fit 4. Example Use-Case 5. Project Maturity 6. Polywrap + IPFS = :heart:? 7. WRAP + IPLD = :heart:? 8. Start Building Today --- # What is Polywrap? ----- ### WebAssembly Development Framework Composability + On-Demand Execution --- # Motivation ## "Trad Modules" ### *are holding software back* Language Specific<br/>Insecure<br/>Not Standardized<br/>Not Upgradeable<br/>Bloat Apps --- # Web3 Integration Problem Web3 needs many modules for complex client-side logic. <img src="https://hackmd.io/_uploads/Syiyvfcpc.png" height="400" /> --- # Polywrap Modules ## aka *Wrappers* Multi-Language<br/>Secure By Default<br/>Composable<br/>Upgradeable<br/>Scalable --- # Multi-Language <img src="https://hackmd.io/_uploads/B12VPf969.png" height="400" /> --- # Secure By Default <img src="https://hackmd.io/_uploads/rydOvfq65.png" height="400" /> --- # Secure++ ## Capability Based Security <img src="https://hackmd.io/_uploads/HkbPEfcac.png" height="400" /> source: [bytecodealliance.org/articles/...](https://bytecodealliance.org/articles/announcing-the-bytecode-alliance) --- # Composable <img src="https://hackmd.io/_uploads/BJO6Df9aq.png" height="400" /> --- # Upgradeable <img src="https://hackmd.io/_uploads/H15EFz969.png" height="500" /> --- # Scalable <img src="https://hackmd.io/_uploads/H1Z6Kfq65.png" height="500" /> --- # Development Experience ![](https://hackmd.io/_uploads/HymQjM9Tq.png) --- # An Internet OS # *For In-App Modules* <img src="https://hackmd.io/_uploads/BJdf6f5p5.png" height="300" /> https://en.wikipedia.org/wiki/Internet_OS --- # How We Build 1. Focus on developer experience 2. Build extendable systems 3. Standardize (alongside adjacent technologies) --- # Underlying Standard ## W.R.A.P. WRAP stands for **W**ebAssembly **R**andom **A**ccess **P**rotocol. **WebAssembly** - A secure-by-default, portable, lightweight, bytecode standard. **Random Access** - Any WRAP module is accessible on-demand via its URI. **Protocol** - A set of rules and procedures for loading & executing WRAP modules. [specification (WIP)](https://github.com/polywrap/specification/blob/main/standard/01.0%20General%20Standard/WRAP%20Standard.md) --- ## Feels Like Magic ```typescript! client.invoke({ uri: "ens/domain.eth/package/1.0.0", method: "someMethod", args: { value: 5, arr: ["foo", "bar"], obj: { prop: false } } }) ``` [docs.polywrap.io](https://docs.polywrap.io) --- # Broader Ecosystem Fit ----- Where does WRAP & Polywrap fit into the broader Wasm ecosystem? | Standards | Runtime | |-|-| | WRAP, Wasi | Polwrap Client | | Wasm | WebAssembly VM | --- # What are some example use-cases of Polywrap? ----- - Universal SDKs - Upgradeable SDKs - Standard Interfaces - Future-Proof Aggregators - Serverless Function Runtime - Hybrid Compute (Server + Client) - Web3 Node Runtimes --- # Disclaimer Some use-cases are more feasible today than others. --- # Project Maturity ----- The project is still relatively "young". We're building rapidly, and growing steadily both internally within the DAO and externally as an ecosystem. --- # 1.5 Years Building ![](https://acegif.com/wp-content/uploads/cat-typing-12.gif) --- <img src="https://user-images.githubusercontent.com/5522128/177474776-76886b67-6554-41a9-841b-939728e273ca.png" height="500" /> --- <img src="https://hackmd.io/_uploads/Sk74V7qp9.png" height="500" /> --- <img src="https://hackmd.io/_uploads/HyW84X965.png" height="500" /> --- # DeFi Wrapper ## Future-Proof Aggregator <img src="https://hackmd.io/_uploads/By_o4Qcp9.png" height="500" /> --- # wrap.link ## Serverless Wrapper Runtime https://wrap.link/i/ens/http.polywrap.eth/get?url=https://www.google.com --- # DAO Coordination ## Contributors ![](https://hackmd.io/_uploads/HJ2Tc7565.png) --- # Polywrap + IPFS = :heart:? --- # Fetch & Run Wasm<br/>From IPFS <img src="https://hackmd.io/_uploads/Sy_vjE9ac.png" height="500" /> --- # Fetch & Run Wasm<br/>From IPFS ```typescript! client.invoke({ uri: "ipfs/QmHASH", method: "someMethod", args: { ... } }) ``` --- # Multi-Language IPFS SDK ```typescript! const result = await client.invoke({ uri: "ens/wrappers.polywrap.eth/ipfs-http-client", method: "catFile", args: { cid: "ipfs/QmHash" } }) const bytes = result.data; ``` --- # Run Wasm in IPFS Nodes * Increase Security * Node Runner Extensions * User Defined Extensions * Data Transformations --- # WRAP + IPLD = :heart:? --- # Wasm Module Verification Verify the module's authenticity by doing client-side hash verification. --- # Improved Performance * Reduce Invocation Redundancy * Performant Data Translations * Improved Module Dependencies --- # Polywarp DAO's Sentiment * We actively build with IPFS in mind * Contributors are IPFS fluent * Very interested in IPLD + WRAP integrations --- # Start Building Today ----- - Where to get started? - [docs.polywrap.io](https://docs.polywrap.io/) - Existing integrations? - [integrations.polywrap.io](https://integrations.polywrap.io/) - Existing demos? - [demos.polywrap.io](https://demos.polywrap.io/) - Join the developer community. - [discord.polywrap.io](https://discord.polywrap.io) - Ask us questions! We will respond. --- # Happy Hacking!
{"metaMigratedAt":"2023-06-17T06:15:30.507Z","metaMigratedFrom":"YAML","title":"What is Polywrap?","breaks":true,"slideOptions":"{\"transition\":\"slide\"}","contributors":"[{\"id\":\"c625e241-d8ed-4330-897a-bc5e11cf7652\",\"add\":0,\"del\":9},{\"id\":\"cdbb350a-2765-454e-8d01-cec2bcf476f3\",\"add\":10272,\"del\":4328}]"}
    405 views
   owned this note