# exchange_node_wallet_server **Repository Path**: yanwankun/exchange_node_wallet_server ## Basic Information - **Project Name**: exchange_node_wallet_server - **Description**: No description available - **Primary Language**: NodeJS - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-22 - **Last Updated**: 2022-04-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # nodejs 使用 * 先创建文件夹 ``` yarn init -y ``` * 添加依赖库 ``` yarn add @@polkadot/api yarn add @@polkadot/keyring yarn add @@polkadot/util-crypto ``` ### 添加es2015支持 #### 安装第三方工具: * 在任意目录下执行,全局安装babel-cli 和 browserify: ```shell script yarn global add babel-cli browserify ``` * 在工程项目下面执行 ```shell script yarn add babel-preset-es2015 ``` * 在项目跟路径下面新建 .babelrc 文件,内容如下 ``` { "presets": [ "es2015" ] } ``` * 在项目目录下执行 ```shell script babel src -d lib ``` npx babel src/new_index.js -d lib node ./lib/src/new_index.js npx babel test/testIcp.js -d lib node ./lib/test/testIcp.js npx babel test/testIcpTransfer.js -d lib node ./lib/test/testIcpTransfer.js npx babel test/testOffLineTransfer.js -d lib node ./lib/test/testOffLineTransfer.js npx babel src/icp_node_server.js -d lib node ./lib/src/icp_node_server.js ``` 执行有可能报错,显示不是内部命令,需要将 yarn global bin 的返回结果添加到path变量中 ``` * 运行 ```shell script node ./lib/index.js ``` ## docker use * add Dockerfile ```shell script FROM node:16 WORKDIR /usr/src/app COPY package*.json ./ RUN npm install RUN yarn global add babel-cli browserify COPY . . RUN babel src -d lib EXPOSE 8080 CMD ["node", "./lib/icp_node_server.js"] ``` * add .dockerignore ```text node_modules npm-debug.log ``` * 构建容器 ```shell script docker build . -t silly_boy/icp_node_server ``` * 运行docker实例 ```shell script docker run -p 8081:8080 -d silly_boy/icp_node_server ``` * 使用测试 ```shell script gentlemenyan@gentlemYandeMBP exchange_node_wallet_server % curl --location --request POST '127.0.0.1:8081/genAddress' \ > --header 'Content-Type: application/json' \ > --data-raw '{}' { "code":0, "message":"success", "address":"e49df7473aed13928ac08710368db70b6afc6c228466cc1567b4199c13c5b694", "seedStr":"70a7612e9137e3282c8aaf6e67fe0f052ab792676567189a8ae581bff42a8020", "privateKey":"70a7612e9137e3282c8aaf6e67fe0f052ab792676567189a8ae581bff42a8020f1a3405664bb6bca5a8c1ee98638ca3d4096f897033f80422d57c554d39760ac", "publicKey":"f1a3405664bb6bca5a8c1ee98638ca3d4096f897033f80422d57c554d39760ac" } ```