(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[10568],{49628:function(t,e,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/en/build/get-started/solana-cheatsheet",function(){return r(71758)}])},71758:function(t,e,r){"use strict";r.r(e),r.d(e,{useTOC:function(){return a}});var s=r(31549),n=r(82910),d=r(15801),c=r(46977);function a(t){return[]}e.default=(0,n.c)(function(t){let e={a:"a",code:"code",h1:"h1",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,c.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.h1,{children:"Solana to Aptos Cheatsheet"}),"\n",(0,s.jsxs)(e.p,{children:["To learn more about the differences and similarities see ",(0,s.jsx)(e.a,{href:"https://learn.aptoslabs.com/en/tutorials/solana-to-aptos-guide/cheat-sheet?workshop=solana-to-aptos",children:"Aptos Learn"})]}),"\n",(0,s.jsxs)(e.table,{children:[(0,s.jsx)(e.thead,{children:(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.th,{}),(0,s.jsx)(e.th,{children:"Solana"}),(0,s.jsx)(e.th,{children:"Aptos"})]})}),(0,s.jsxs)(e.tbody,{children:[(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Smart Contracts"})}),(0,s.jsx)(e.td,{children:"Rust, SVM"}),(0,s.jsx)(e.td,{children:"Move, MoveVM"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Transaction Fees"})}),(0,s.jsx)(e.td,{children:"Low"}),(0,s.jsx)(e.td,{children:"Low"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Parallelization"})}),(0,s.jsx)(e.td,{children:"Pessimistic parallelism, need to declare all write accounts"}),(0,s.jsx)(e.td,{children:"Optimistic parallelism, chain infers write accounts for you"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Contract Account Support"})}),(0,s.jsx)(e.td,{children:"PDA Account"}),(0,s.jsxs)(e.td,{children:[(0,s.jsx)(e.a,{href:"../smart-contracts/objects",children:"Object"})," or ",(0,s.jsx)(e.a,{href:"../smart-contracts/resource-accounts",children:"resource account"}),"(encourage to use object instead)"]})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Data Storage"})}),(0,s.jsx)(e.td,{children:"Data stored in account owned by programs"}),(0,s.jsx)(e.td,{children:"Data stored as resource under user account or object"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Storage Level"})}),(0,s.jsx)(e.td,{children:"Program level"}),(0,s.jsx)(e.td,{children:"Global when stored under object"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Storage Mindset"})}),(0,s.jsx)(e.td,{children:"User data stored distributedly under account"}),(0,s.jsx)(e.td,{children:"User data stored distributedly under object"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Example Code"})}),(0,s.jsx)(e.td,{children:(0,s.jsx)(e.a,{href:"https://github.com/aptos-labs/move-by-examples/tree/main/advanced-todo-list/solana",children:"Todo list contract on Solana"})}),(0,s.jsx)(e.td,{children:(0,s.jsx)(e.a,{href:"https://github.com/aptos-labs/move-by-examples/tree/main/advanced-todo-list/aptos",children:"Todo list contract on Aptos"})})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Caller ID"})}),(0,s.jsx)(e.td,{children:(0,s.jsx)(e.code,{children:"signer"})}),(0,s.jsx)(e.td,{children:(0,s.jsx)(e.code,{children:"signer"})})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Upgradability"})}),(0,s.jsx)(e.td,{children:"Program is upgradable"}),(0,s.jsx)(e.td,{children:"Module is upgradable"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Dispatch Type"})}),(0,s.jsx)(e.td,{children:"Static dispatch"}),(0,s.jsx)(e.td,{children:"Static dispatch"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"FT Standards"})}),(0,s.jsx)(e.td,{children:"Token program"}),(0,s.jsxs)(e.td,{children:[(0,s.jsx)(e.a,{href:"../smart-contracts/aptos-coin",children:"Coin"})," (legacy) and ",(0,s.jsx)(e.a,{href:"../smart-contracts/fungible-asset",children:"Fungible Asset Standard"})]})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"NFT Standards"})}),(0,s.jsx)(e.td,{children:"Token program"}),(0,s.jsx)(e.td,{children:(0,s.jsx)(e.a,{href:"../smart-contracts/digital-asset",children:"Digital Asset Standard"})})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Blockchain Interaction"})}),(0,s.jsx)(e.td,{children:"Solana web3.js library"}),(0,s.jsx)(e.td,{children:(0,s.jsx)(e.a,{href:"../sdks/ts-sdk",children:"Aptos Typescript SDK"})})]})]})]})]})},"/en/build/get-started/solana-cheatsheet",{filePath:"pages/en/build/get-started/solana-cheatsheet.mdx",timestamp:1728425436e3,pageMap:d.v,frontMatter:{title:"Solana to Aptos Cheatsheet"},title:"Solana to Aptos Cheatsheet"},"undefined"==typeof RemoteContent?a:RemoteContent.useTOC)},82910:function(t,e,r){"use strict";r.d(e,{c:function(){return i}});var s=r(31549),n=r(74271),d=r(14553),c=r(55754),a=r(46977);function i(t,e,r,s){let d=globalThis[n.ud];return d.route=e,d.pageMap=r.pageMap,d.context[e]={Content:t,pageOpts:r,useTOC:s},l}function l({__nextra_pageMap:t=[],__nextra_dynamic_opts:e,...r}){let a=globalThis[n.ud],{Layout:i,themeConfig:l}=a,{route:h,locale:j}=(0,d.t)(),x=a.context[h];if(!x)throw Error(`No content found for the "${h}" route. Please report it as a bug.`);let{pageOpts:u,useTOC:p,Content:g}=x;if(h.startsWith("/["))u.pageMap=t;else for(let{route:e,children:r}of t){let t=e.split("/").slice(j?2:1);(function t(e,[r,...s]){for(let n of e)if("children"in n&&r===n.name)return s.length?t(n.children,s):n})(u.pageMap,t).children=r}if(e){let{title:t,frontMatter:r}=e;u={...u,title:t,frontMatter:r}}return(0,s.jsx)(i,{themeConfig:l,pageOpts:u,pageProps:r,children:(0,s.jsx)(c.F,{value:r,children:(0,s.jsx)(o,{useTOC:p,children:(0,s.jsx)(g,{...r})})})})}function o({children:t,useTOC:e}){let{wrapper:r}=(0,a.a)();return(0,s.jsx)(h,{useTOC:e,wrapper:r,children:t})}function h({children:t,useTOC:e,wrapper:r,...n}){let d=e(n);return r?(0,s.jsx)(r,{toc:d,children:t}):t}}},function(t){t.O(0,[68889,15801,92888,49774,40179],function(){return t(t.s=49628)}),_N_E=t.O()}]);