├── README.md
└── ironfish-script.sh
/README.md:
--------------------------------------------------------------------------------
1 | # Iron Fish一键脚本(二开版)
2 | 基于推特用户 @Daniel_eth2 的开源脚本进行功能的增加
3 | 原作Github: https://github.com/8hfq
4 | 二开作者推特:https://twitter.com/L4ttIc3
5 | 新增功能List:
6 | - 测试网挖矿
7 | - 发送转账
8 | - 创建/设置/导出钱包
9 |
10 | **此脚本完全免费开源,欢迎关注,如有收费请勿上当受骗。**
11 |
12 | **喜欢的朋友可以点个 Star**
13 |
--------------------------------------------------------------------------------
/ironfish-script.sh:
--------------------------------------------------------------------------------
1 | Crontab_file="/usr/bin/crontab"
2 | Green_font_prefix="\033[32m"
3 | Red_font_prefix="\033[31m"
4 | Green_background_prefix="\033[42;37m"
5 | Red_background_prefix="\033[41;37m"
6 | Font_color_suffix="\033[0m"
7 | Info="[${Green_font_prefix}信息${Font_color_suffix}]"
8 | Error="[${Red_font_prefix}错误${Font_color_suffix}]"
9 | Tip="[${Green_font_prefix}注意${Font_color_suffix}]"
10 | check_root() {
11 | [[ $EUID != 0 ]] && echo -e "${Error} 当前非ROOT账号(或没有ROOT权限),无法继续操作,请更换ROOT账号或使用 ${Green_background_prefix}sudo su${Font_color_suffix} 命令获取临时ROOT权限(执行后可能会提示输入当前账号的密码)。" && exit 1
12 | }
13 |
14 | install_docker(){
15 | check_root
16 | curl -fsSL https://get.docker.com | bash -s docker
17 | sudo systemctl daemon-reload
18 | sudo systemctl restart docker
19 | echo "docker 安装完成"
20 | }
21 |
22 | install_ironfish(){
23 | read -p " 请输入节点名字(跟官方注册的一样):" name
24 | echo "你输入的节点名字是 $name"
25 | read -r -p "请确认输入的节点名字正确,正确请输入Y,否则将退出 [Y/n] " input
26 | case $input in
27 | [yY][eE][sS]|[yY])
28 | echo "继续安装"
29 | ;;
30 |
31 | *)
32 | echo "退出安装..."
33 | exit 1
34 | ;;
35 | esac
36 | docker pull ghcr.io/iron-fish/ironfish:latest
37 | docker run -itd --name node --net host --volume /root/.node:/root/.ironfish ghcr.io/iron-fish/ironfish:latest start
38 | sleep 5
39 | docker exec -it node bash -c "ironfish config:set blockGraffiti ${name}"
40 | docker exec -it node bash -c "ironfish config:set enableTelemetry true"
41 | echo "启动成功!"
42 | }
43 |
44 | run_ironfish(){
45 | docker start $(docker ps -a | grep node | awk '{ print $1}')
46 | echo "启动成功!"
47 | echo "请使用检查状态功能确保正常运行"
48 | echo "假如没正常启动,请运行命令 'docker ps -a 显示的CONTAINER ID' "
49 | echo "再运行命令 'docker start 显示的CONTAINER ID' "
50 | }
51 |
52 | stop_ironfish(){
53 | docker exec -it node bash -c "ironfish stop"
54 | sleep 5
55 | echo "停止成功!"
56 | }
57 |
58 | mine_ironfish(){
59 | echo "开始挖矿,此功能只能挂机请务关闭或退出"
60 | echo "需要退出请使用键盘按键 ctrl+c"
61 | docker exec -itd node bash -c "ironfish miners:start"
62 | }
63 |
64 | send_ironfish(){
65 | echo "发送转账请在节点同步完后进行,否则会提示错误"
66 | echo "流程请参考https://ironfish.network/docs/onboarding/send-receive-iron-fish-transactions"
67 | docker exec -it node bash -c "ironfish wallet:send"
68 | }
69 |
70 | creat_ironfish(){
71 | echo "正在创建钱包"
72 | docker exec -it node bash -c "ironfish wallet:create"
73 | echo "新钱包创建成功,挖矿时请记得更改为你需要使用的钱包"
74 | }
75 |
76 | set_ironfish(){
77 | echo "正在导出所有的本地钱包名字↓"
78 | docker exec -it node bash -c "ironfish wallet:accounts"
79 | read -p " 请输入你想使用的钱包名字(如上):" name
80 | docker exec -it node bash -c "ironfish wallet:use ${name}"
81 | echo "设置成功!挖矿和转账所使用的钱包已更改为 ${name}"
82 | }
83 |
84 | export_ironfish(){
85 | echo "正在导出所有的本地钱包名字↓"
86 | docker exec -it node bash -c "ironfish wallet:accounts"
87 | read -p " 请输入你想导出的钱包名字(如上):" name
88 | docker exec -it node bash -c "ironfish wallet:export ${name}"
89 | echo "成功导出 ${name} 钱包,请备份"
90 | }
91 |
92 | import_ironfish(){
93 | echo "请输入导入的 钱包名字 和 spendingKey (这些信息在导出时提供)"
94 | docker exec -it node bash -c "ironfish wallet:import"
95 | }
96 |
97 | balance_ironfish(){
98 | echo "正在显示钱包余额,请确保节点已同步完成并领水...."
99 | docker exec -it node bash -c "ironfish wallet:balance"
100 | }
101 |
102 |
103 | read_ironfish(){
104 | echo "正在检查实时状态,如需退出请按 CTRL+C"
105 | docker exec -it node bash -c "ironfish status -f"
106 | }
107 |
108 | update_ironfish(){
109 | echo "开始升级,请耐心等待"
110 | echo "请注意,更新之后老版本钱包将会无法导入(导出格式不同,意味着领的水也会丢失得重新领取),然后要重新同步节点"
111 | sleep 5
112 | docker exec -it node bash -c "ironfish stop"
113 | docker rm $(docker ps -a | grep node | awk '{ print $1}')
114 | rm -rf .node/
115 | read -p " 请输入节点名字(跟官方注册的一样):" name
116 | echo "你输入的节点名字是 $name"
117 | read -r -p "请确认输入的节点名字正确,正确请输入Y,否则将退出 [Y/n] " input
118 | case $input in
119 | [yY][eE][sS]|[yY])
120 | echo "继续更新"
121 | ;;
122 |
123 | *)
124 | echo "退出更新..."
125 | exit 1
126 | ;;
127 | esac
128 | docker pull ghcr.io/iron-fish/ironfish:latest
129 | docker run -itd --name node --net host --volume /root/.node:/root/.ironfish ghcr.io/iron-fish/ironfish:latest start
130 | sleep 5
131 | docker exec -it node bash -c "ironfish config:set blockGraffiti ${name}"
132 | docker exec -it node bash -c "ironfish config:set enableTelemetry true"
133 | echo "启动成功!升级完成"
134 | }
135 |
136 | faucet_ironfish(){
137 | echo "请在下方输入注册账号的邮箱,领水需要排队"
138 | echo "请过段时间和同步完节点的后再查询钱包余额"
139 | docker exec -it node bash -c "ironfish faucet"
140 | }
141 |
142 | mintAsset(){
143 | echo "正在铸造资产...."
144 | echo "Mint成功后就是链上资产,可以用于燃烧和转账到官方地址"
145 | echo "下方asset name和metadata必须跟账号名字一样"
146 | echo "mint amount比例是10000:0.00000001IRON,数值填写10000即可"
147 | docker exec -it node bash -c "ironfish wallet:mint"
148 |
149 | }
150 |
151 | burnAsset(){
152 | echo "正在燃烧资产...."
153 | docker exec -it node bash -c "ironfish wallet:burn"
154 | }
155 |
156 | transferAsset(){
157 | echo "正在转账资产到官方地址...."
158 | docker exec -it node bash -c "ironfish wallet:send --to dfc2679369551e64e3950e06a88e68466e813c63b100283520045925adbe59ca"
159 | }
160 |
161 | echo && echo -e " ${Red_font_prefix}IronFish 一键脚本${Font_color_suffix} by \033[1;35mLattice\033[0m
162 | 此脚本完全免费开源,由推特用户 ${Green_font_prefix}@L4ttIc3${Font_color_suffix} 二次开发并升级,
163 | 升级增加 ${Red_font_prefix}IronFish第三阶段测试网完整功能${Font_color_suffix} 功能
164 | 欢迎关注,如有收费请勿上当受骗。
165 | ———————————————————————
166 | ${Green_font_prefix} 1.安装 docker ${Font_color_suffix}
167 | ${Green_font_prefix} 2.安装并运行 Ironfish ${Font_color_suffix}
168 | -----节点功能------
169 | ${Green_font_prefix} 3.运行 Ironfish 节点 ${Font_color_suffix}
170 | ${Green_font_prefix} 4.停止 Ironfish 节点 ${Font_color_suffix}
171 | -----挖矿功能------
172 | ${Red_font_prefix}(功能5必须在节点运行下使用)${Font_color_suffix}
173 | ${Green_font_prefix} 5.开始 Ironfish 挖矿 ${Font_color_suffix}
174 | -----转账功能------
175 | ${Red_font_prefix}(功能6必须同步完节点后使用)${Font_color_suffix}
176 | ${Green_font_prefix} 6.发送 Ironfish 转账 ${Font_color_suffix}
177 | -----钱包功能------
178 | ${Green_font_prefix} 7.创建 Ironfish 钱包 ${Font_color_suffix}
179 | ${Green_font_prefix} 8.设置 Ironfish 钱包 ${Font_color_suffix}
180 | ${Green_font_prefix} 9.导出 Ironfish 钱包 ${Font_color_suffix}
181 | ${Green_font_prefix} 10.导入 Ironfish 钱包 ${Font_color_suffix}
182 | ${Green_font_prefix} 11.查询 Ironfish 钱包余额 ${Font_color_suffix}
183 | -----其他功能------
184 | ${Green_font_prefix} 12.检查 Ironfish 状态 ${Font_color_suffix}
185 | ${Green_font_prefix} 13.升级 Ironfish 版本 ${Font_color_suffix}
186 | ${Green_font_prefix} 14.请求 Ironfish 领水 ${Font_color_suffix}
187 | -----第三阶段测试网功能------
188 | ${Red_font_prefix}(以下必须在同步完节点和领水后使用)${Font_color_suffix}
189 | ${Green_font_prefix} 15.Mint An Asset 铸造资产${Font_color_suffix}
190 | ${Green_font_prefix} 16.Burn An Asset 燃烧资产${Font_color_suffix}
191 | ${Green_font_prefix} 17.Send An Asset 转账资产到官方地址${Font_color_suffix}
192 | ———————————————————————" && echo
193 | read -e -p " 请输入数字 [1-17]:" num
194 | case "$num" in
195 | 1)
196 | install_docker
197 | ;;
198 | 2)
199 | install_ironfish
200 | ;;
201 | 3)
202 | run_ironfish
203 | ;;
204 | 4)
205 | stop_ironfish
206 | ;;
207 | 5)
208 | mine_ironfish
209 | ;;
210 | 6)
211 | send_ironfish
212 | ;;
213 | 7)
214 | creat_ironfish
215 | ;;
216 | 8)
217 | set_ironfish
218 | ;;
219 | 9)
220 | export_ironfish
221 | ;;
222 | 10)
223 | import_ironfish
224 | ;;
225 | 11)
226 | balance_ironfish
227 | ;;
228 | 12)
229 | read_ironfish
230 | ;;
231 | 13)
232 | update_ironfish
233 | ;;
234 | 14)
235 | faucet_ironfish
236 | ;;
237 | 15)
238 | mintAsset
239 | ;;
240 | 16)
241 | burnAsset
242 | ;;
243 | 17)
244 | transferAsset
245 | ;;
246 |
247 | *)
248 | echo
249 | echo -e " ${Error} 请输入正确的数字"
250 | ;;
251 | esac
252 |
--------------------------------------------------------------------------------