使用 python和 solidity語言,drf框架開發智能合約的一些踩坑記錄。
-
compile_source和compile_standard方法都無法import 文件進行編譯,提示找不到文件,使用compile_files方法吧。
-
compile_files 方法裏面合約路徑不能有冒號,使用相對路徑即可。
-
安裝windows版本合約編譯器solc.exe
-
solidity合約默認給public變量添加了getter函數,可以直接使用contract.functions.變量名()獲取變量的值。只是不支持數組類型。比如:
Fundraise[] public fundraises;
只能通過一個個索引調用,如
```python
# 每次獲取一個數組元素
contract_instance.functions.fundraises(0).call()
```
- 使用serializers.PrimaryKeyRelatedField 序列化一個含有外鍵的model時,出現如下問題:
google了一大把答案無果,最後使用User.id 解決。這個主鍵直接接受一個int類型的id是否是衆所周知的?不解爲什麼官方文檔不給出在View裏面構造對應序列化器的例子,網上也沒有一個文章提及。估計還是自己代碼打得太少吧。
- postman 參考文檔
- 以太坊開發參考
- 參考教程