📌 Introduction
分享在使用 AMLSim 時遇到的坑,提醒大家以後遇到時可以看到,同時也是記錄一下留給以後的自己看。
🗒️ Notes
1. Python 版本問題
執行 transaction_graph_generator.py 使用的 Python 版本需要為 GitHub 頁面上寫的 3.7 或是在 conda 中用的 3.8 版本實測也是可以。
不然可能會出現問題,以下是我一開始使用 Python 3.12 遇到的錯誤訊息:
(base) user@macOS ~/AMLSim-master % python scripts/transaction_graph_generator.py conf.json
INFO:__main__:Random seed: 0
INFO:__main__:Simulation name: sample
INFO:__main__:Add 8374 base transactions
Traceback (most recent call last):
File "/Users/user/AMLSim-master/scripts/transaction_graph_generator.py", line 1334, in <module>
txg.generate_normal_transactions() # Load a parameter CSV file for the base transaction types
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/user/AMLSim-master/scripts/transaction_graph_generator.py", line 517, in generate_normal_transactions
self.add_edge_info(src, dst) # Add edge info.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/user/AMLSim-master/scripts/transaction_graph_generator.py", line 557, in add_edge_info
self.check_account_exist(orig) # Ensure the originator and beneficiary accounts exist
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/user/AMLSim-master/scripts/transaction_graph_generator.py", line 310, in check_account_exist
raise KeyError("Account %s does not exist" % str(aid))
KeyError: 'Account {} does not exist'
2. 安裝 Java 套件
在執行下面的命令前需要先從網路上下載 mason.20.jar 檔案放到 jars/ 裡面。
我是從這個網址下載的: https://cs.gmu.edu/~eclab/projects/mason/mason.20.jar
mvn install:install-file \
-Dfile=jars/mason.20.jar \
-DgroupId=mason \
-DartifactId=mason \
-Dversion=20 \
-Dpackaging=jar \
-DgeneratePom=true
接著執行編譯 Java 的動作
sh scripts/build_AMLSim.sh
sh scripts/run_AMLSim.sh conf.json