# Running a Node.js program locally V/S Runnning an AssemblyScript program written for NEAR ## **Objective**: To help beginners understand, how contracts(programs) are deployed on NEAR while drawing comparisons from Web Development :::info **Note:** This document ==assumes that the readers already have beginner level knowledge of Node.js, AssesmblyScript and NEAR== ::: --- ### A) Steps for locally running Node.js program::memo: 1. Write and save the program to a '.js' file 2. Run program :rocket: ```AssemblyScript $ node programFile.js ``` > Node.js programs are interpreted at runtime --- ### B) Steps to deploy an AssesmblyScript program(contract) written for NEAR :memo: 1. Write and save the program to a '.ts' file 2. Compile the program to a '.WASM' file :astonished: ```AssemblyScript $ yarn build:release ``` 3. Deploy the WASM file to NEAR ```AssemblyScript $ near deploy --accountId accountname.testnet --wasmFile programFile.wasm ``` 4. Run/ Call the program ```AssemblyScript $ near view accountname.testnet functionName ``` :::info **Note:** All further ==changes to the AssemblyScript program have to saved, re-compiled, re-deployed and re-run on NEAR== ::: --- ## Summary :notebook: | Node.js | AssemblyScript (NEAR) | | ----------------- |:----------------------- | | Write and save program | Write and save program | | :negative_squared_cross_mark: | Compile program to a WASM file | | :negative_squared_cross_mark: | Deploy the WASM file to NEAR | | Run program | Call/ Run program(Contract) | --- ###### tags: `NEARprotocol` `tutorials` `Node.js` `AssemblyScript`