(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[13940],{74702:function(i,s,e){(window.__NEXT_P=window.__NEXT_P||[]).push(["/en/build/smart-contracts/scripts/compiling-scripts",function(){return e(20601)}])},20601:function(i,s,e){"use strict";e.r(s),e.d(s,{useTOC:function(){return r}});var h=e(31549),n=e(82910),l=e(15801),a=e(46977),t=e(83185);function r(i){return[]}s.default=(0,n.c)(function(i){let s={a:"a",code:"code",h1:"h1",p:"p",pre:"pre",span:"span",...(0,a.a)(),...i.components};return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(s.h1,{children:"How can I compile Move Scripts?"}),"\n",(0,h.jsxs)(s.p,{children:["Move scripts can be compiled with the already existing Aptos Move compiler in\nthe Aptos CLI. For more on how to install and use the Aptos CLI with Move contracts, go to the ",(0,h.jsx)(s.a,{href:"../../cli/working-with-move-contracts",children:"Working With Move Contracts"})," page."]}),"\n",(0,h.jsx)(s.p,{children:"Once you have the Aptos CLI installed, you can compile a script by running the following command from within the script package:"}),"\n",(0,h.jsx)(s.pre,{icon:t.Fx,tabIndex:"0","data-language":"bash","data-word-wrap":"","data-filename":"Terminal","data-copy":"",children:(0,h.jsx)(s.code,{children:(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"aptos"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" move"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" compile"})]})})}),"\n",(0,h.jsxs)(s.p,{children:["There will then be compiled bytecode files under ",(0,h.jsx)(s.code,{children:"build/"})," with the same name as\nthe function in Move."]}),"\n",(0,h.jsxs)(s.p,{children:["For example this script in package ",(0,h.jsx)(s.code,{children:"transfer_half"}),", would compile\nto ",(0,h.jsx)(s.code,{children:"build/transfer_half/bytecode_scripts/transfer_half.mv"})]}),"\n",(0,h.jsx)(s.pre,{icon:t.tP,tabIndex:"0","data-language":"move","data-word-wrap":"","data-copy":"",children:(0,h.jsxs)(s.code,{children:[(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"script"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"  use"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" std::signer;"})]}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"  use"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" aptos_framework::coin;"})]}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"  use"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" aptos_framework::aptos_account;"})]}),"\n",(0,h.jsx)(s.span,{children:" "}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"  fun"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" transfer_half"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"<"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"Coin"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:">(caller: &"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"signer"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", receiver_address: "}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"address"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),"\n",(0,h.jsx)(s.span,{children:(0,h.jsx)(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:"    // Retrieve the balance of the caller"})}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"    let"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" caller_address: "}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"address"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" = "}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"signer"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"::"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"address_of"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(caller);"})]}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"    let"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" balance: "}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"u64"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" = coin::"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"balance"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"<"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"Coin"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:">(caller_address);"})]}),"\n",(0,h.jsx)(s.span,{children:" "}),"\n",(0,h.jsx)(s.span,{children:(0,h.jsx)(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:"    // Send half to the receiver"})}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"    let"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" half = balance / "}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"2"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"    aptos_account::"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"transfer_coins"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"<"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"Coin"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:">(caller, receiver_address, half);"})]}),"\n",(0,h.jsx)(s.span,{children:(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"  }"})}),"\n",(0,h.jsx)(s.span,{children:(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,h.jsx)(s.p,{children:"Additionally, there is a convenience function for a package with exactly one\nscript with the below command:"}),"\n",(0,h.jsx)(s.pre,{icon:t.Fx,tabIndex:"0","data-language":"bash","data-word-wrap":"","data-filename":"Terminal","data-copy":"",children:(0,h.jsx)(s.code,{children:(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"aptos"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" move"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" compile-script"})]})})}),"\n",(0,h.jsx)(s.p,{children:"Providing output like below returning the exact location of the script and a\nhash for convenience"}),"\n",(0,h.jsx)(s.pre,{icon:t.Fx,tabIndex:"0","data-language":"bash","data-word-wrap":"","data-filename":"Terminal","data-copy":"",children:(0,h.jsxs)(s.code,{children:[(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"Compiling,"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" may"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" take"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" a"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" little"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" while"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" to"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" download"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" git"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" dependencies..."})]}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"UPDATING"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" GIT"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" DEPENDENCY"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" https://github.com/aptos-labs/aptos-core.git"})]}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"INCLUDING"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" DEPENDENCY"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" AptosFramework"})]}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"INCLUDING"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" DEPENDENCY"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" AptosStdlib"})]}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"INCLUDING"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" DEPENDENCY"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" MoveStdlib"})]}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"BUILDING"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" transfer_half"})]}),"\n",(0,h.jsx)(s.span,{children:(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:'  "Result"'}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:":"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" {"})]}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:'    "script_location"'}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:":"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "/opt/git/developer-docs/apps/docusaurus/static/move-examples/scripts/transfer_half/script.mv",'})]}),"\n",(0,h.jsxs)(s.span,{children:[(0,h.jsx)(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:'    "script_hash"'}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:":"}),(0,h.jsx)(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "9b57ffa952da2a35438e2cf7e941ef2120bb6c2e4674d4fcefb51d5e8431a148"'})]}),"\n",(0,h.jsx)(s.span,{children:(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"  }"})}),"\n",(0,h.jsx)(s.span,{children:(0,h.jsx)(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})})]})},"/en/build/smart-contracts/scripts/compiling-scripts",{filePath:"pages/en/build/smart-contracts/scripts/compiling-scripts.mdx",timestamp:1728425436e3,pageMap:l.v,frontMatter:{title:"Compiling Move Scripts"},title:"Compiling Move Scripts"},"undefined"==typeof RemoteContent?r:RemoteContent.useTOC)},82910:function(i,s,e){"use strict";e.d(s,{c:function(){return r}});var h=e(31549),n=e(74271),l=e(14553),a=e(55754),t=e(46977);function r(i,s,e,h){let l=globalThis[n.ud];return l.route=s,l.pageMap=e.pageMap,l.context[s]={Content:i,pageOpts:e,useTOC:h},d}function d({__nextra_pageMap:i=[],__nextra_dynamic_opts:s,...e}){let t=globalThis[n.ud],{Layout:r,themeConfig:d}=t,{route:k,locale:p}=(0,l.t)(),o=t.context[k];if(!o)throw Error(`No content found for the "${k}" route. Please report it as a bug.`);let{pageOpts:x,useTOC:E,Content:F}=o;if(k.startsWith("/["))x.pageMap=i;else for(let{route:s,children:e}of i){let i=s.split("/").slice(p?2:1);(function i(s,[e,...h]){for(let n of s)if("children"in n&&e===n.name)return h.length?i(n.children,h):n})(x.pageMap,i).children=e}if(s){let{title:i,frontMatter:e}=s;x={...x,title:i,frontMatter:e}}return(0,h.jsx)(r,{themeConfig:d,pageOpts:x,pageProps:e,children:(0,h.jsx)(a.F,{value:e,children:(0,h.jsx)(c,{useTOC:E,children:(0,h.jsx)(F,{...e})})})})}function c({children:i,useTOC:s}){let{wrapper:e}=(0,t.a)();return(0,h.jsx)(k,{useTOC:s,wrapper:e,children:i})}function k({children:i,useTOC:s,wrapper:e,...n}){let l=s(n);return e?(0,h.jsx)(e,{toc:l,children:i}):i}}},function(i){i.O(0,[68889,15801,92888,49774,40179],function(){return i(i.s=74702)}),_N_E=i.O()}]);