📜 [專欄新文章] Solidity Weekly #13
✍️ mingderwang
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
哪裡還能用 solidity 寫程式?
大家看過 Solidity Weekly 的人﹐應該都知道 Solidity 是為 Ethereum blockchain 開發出來的一種專門用來寫 Smart Contract (智能合約) 的電腦語言。編譯好的 solidity 程式﹐可以部署到 Ethereum 區塊鏈網路﹐讓其他程式透過 web3.js (for Javascript)、web3.py (for Python)、Nethereum (for C#、.NET、Unity)、或甚至還沒開始夯的 cloud native languages 之一 Ballerina package-ethereum (for Ballerina) 來與之互動。各有個別的開發 frameworks﹐以下我會做一個清單來說明。
但基本上用 Solidity 開發出來的程式﹐只要有 EVM (Ethereum Virtual Machine) 的環境﹐就可以執行。所以想像空間就更大了, 就像 Java 當年想跨平台執行任何程式的夢想﹐如今也開始在區塊鏈(們) 上藉由 Solidity 做到跨區塊鏈也移植 Dapps 的夢想。(其實 Dapps 這個名詞﹐會漸漸不存在﹐因為每種 apps 包括手機程式、應用程式、遊戲軟體﹐甚至付費機制的 widgets、付費廣告、打賞平台、聊天網、早晚都會有連上區塊鏈的需求﹐所以終究每種 app 都是 Dapp。)
TL;DR
相容於 Ethereum 的 EVM 的區塊鏈﹐都可以執行 Solidity 開發出來的程式﹐當然包括用不同語言開發出來的 Ethereum client (node): geth (in Golang)、Parity (in Rust)、以及還在 0.2.0 alpha 的 Trinity (py-evm) (in Python)、cpp-ethereum (for C++)、等等…
所以﹐還有哪些地方可以用 Solidity 寫程式?EOS? (原本以為 EOS.IO 說要支援 Solidity,﹐但看似計畫取消﹐還是要用 C++ 才能撰寫 EOS contracts)
另一個可能性是 eWASM (Ethereum Web Assembly)﹐Web Assembly 支援的 browsers 還蠻多的﹐但 Ethereum 在這方面的還在發展中﹐應該會在 Ethereum 2.0 Roadmap 裡。
最後還有一個 RSK 可以部署 Solidity 程式﹐我還在測試中。感覺很怪, 花 Bitcoin 的錢去執行 gas 會不會太貴﹐有點像在開 Hybridge cars。
開發環境清單:
Javascript
ZeppellinOS、Dapp、Truffle (+ Drizzle)、Embark
Python
Populus
C#, F#, .NET (also for Unity3D)
Nethereum
links 分享;
Unit testing Solidity contracts on Ethereum with Go — (Nathan Murthy)
Nethereum 2.0.0 rc5 — Unity3d integration — (Juan Blanco)﹐Ming> 有興趣開發區塊鏈 3D games 可以參考。
註: 還有沒有列到但值得一提的 EVM 語言或工具﹐大家可以留言…
Solidity Weekly #13 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
同時也有13部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,自強_從EXCEL VBA自動化到Python程式開發入門第1次上課(問卷結果&課程說明與安裝環境&環境測試&下載ECLIPSE&外掛與設定路徑&在ECLIPSE安裝外掛與設定路徑&建立專案&Package&Moudle&基本語法與變數&轉換型別&脫逸字元&多重邏輯&範例BMI&多重邏輯字串比對) ...
「python package教學」的推薦目錄:
- 關於python package教學 在 Taipei Ethereum Meetup Facebook 的最讚貼文
- 關於python package教學 在 吳老師教學部落格 Youtube 的最佳解答
- 關於python package教學 在 吳老師教學部落格 Youtube 的最佳貼文
- 關於python package教學 在 吳老師教學部落格 Youtube 的最佳貼文
- 關於python package教學 在 Re: [問題] github下載package使用的問題- 看板Python - 批踢踢 ... 的評價
- 關於python package教學 在 Re: [問題] github下載package使用的問題- 看板Python - 批踢踢 ... 的評價
- 關於python package教學 在 Python 自學第七天:Module 模組 的評價
- 關於python package教學 在 Gurobi-Python/安裝教學.md at master - GitHub 的評價
python package教學 在 吳老師教學部落格 Youtube 的最佳解答
自強_從EXCEL VBA自動化到Python程式開發入門第1次上課(問卷結果&課程說明與安裝環境&環境測試&下載ECLIPSE&外掛與設定路徑&在ECLIPSE安裝外掛與設定路徑&建立專案&Package&Moudle&基本語法與變數&轉換型別&脫逸字元&多重邏輯&範例BMI&多重邏輯字串比對)
上課內容:
01_問卷結果
02_課程說明與安裝環境
03_PYTHON環境測試
04_下載ECLIPSE
05_安裝PYTHON外掛與設定路徑
06_在ECLIPSE安裝外掛與設定路徑
07_在ECLIPSE建立專案&Package&Moudle
08_基本語法與變數說明
09_轉換型別
10_脫逸字元
11_多重邏輯
12_多重邏輯範例BMI解說
13_多重邏輯字串比對
完整影音
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/?hl=zh-TW#!forum/tcfst_python_2017
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著?
出版社:碁峰?出版日期:2016/11/29
Python程式設計入門
作者:葉難
ISBN:9789864340057
出版社:博碩文化
出版日期:2015/04/02
吳老師 106/9/15
EXCEL,VBA,Python,新北市勞工大學,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境
python package教學 在 吳老師教學部落格 Youtube 的最佳貼文
自強_從EXCEL VBA自動化到Python程式開發入門第1次上課(問卷結果&課程說明與安裝環境&環境測試&下載ECLIPSE&外掛與設定路徑&在ECLIPSE安裝外掛與設定路徑&建立專案&Package&Moudle&基本語法與變數&轉換型別&脫逸字元&多重邏輯&範例BMI&多重邏輯字串比對)
上課內容:
01_問卷結果
02_課程說明與安裝環境
03_PYTHON環境測試
04_下載ECLIPSE
05_安裝PYTHON外掛與設定路徑
06_在ECLIPSE安裝外掛與設定路徑
07_在ECLIPSE建立專案&Package&Moudle
08_基本語法與變數說明
09_轉換型別
10_脫逸字元
11_多重邏輯
12_多重邏輯範例BMI解說
13_多重邏輯字串比對
完整影音
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/?hl=zh-TW#!forum/tcfst_python_2017
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著?
出版社:碁峰?出版日期:2016/11/29
Python程式設計入門
作者:葉難
ISBN:9789864340057
出版社:博碩文化
出版日期:2015/04/02
吳老師 106/9/15
EXCEL,VBA,Python,新北市勞工大學,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境
python package教學 在 吳老師教學部落格 Youtube 的最佳貼文
自強_從EXCEL VBA自動化到Python程式開發入門第1次上課(問卷結果&課程說明與安裝環境&環境測試&下載ECLIPSE&外掛與設定路徑&在ECLIPSE安裝外掛與設定路徑&建立專案&Package&Moudle&基本語法與變數&轉換型別&脫逸字元&多重邏輯&範例BMI&多重邏輯字串比對)
上課內容:
01_問卷結果
02_課程說明與安裝環境
03_PYTHON環境測試
04_下載ECLIPSE
05_安裝PYTHON外掛與設定路徑
06_在ECLIPSE安裝外掛與設定路徑
07_在ECLIPSE建立專案&Package&Moudle
08_基本語法與變數說明
09_轉換型別
10_脫逸字元
11_多重邏輯
12_多重邏輯範例BMI解說
13_多重邏輯字串比對
完整影音
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/?hl=zh-TW#!forum/tcfst_python_2017
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著?
出版社:碁峰?出版日期:2016/11/29
Python程式設計入門
作者:葉難
ISBN:9789864340057
出版社:博碩文化
出版日期:2015/04/02
吳老師 106/9/15
EXCEL,VBA,Python,新北市勞工大學,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境
python package教學 在 Re: [問題] github下載package使用的問題- 看板Python - 批踢踢 ... 的推薦與評價
※ 引述《BeAnActuary (Actuary)》之銘言:
: 謝謝指正,這個專案本身就是一個完整的工具,我只是想要直接使用它並作一些數據測試
: 我以為install就是意指安裝...
Install 是安裝沒錯
但是因為 Python 本身就有太多種用法
所以「安裝一個套件」可以代表很多種意思, 每種用法有自己的最佳解
回到你的問題, 看起來這主要有兩種解法, 都是用 Pip
1. pip install
看你的描述, 這個工具並沒有被放上 PyPI
但是 Pip 支援直接從 Git 安裝, 所以你可以
pip install git+https://github.com/author/repo.git#egg=套件名
注意最後面的 #egg=... 部分
這會被 Pip 用來為這個套件取名
通常你可以看 setup.py 裡面的 name 參數, 用一樣的就好
這樣的缺點是沒辦法使用 Pip 的更新功能
因為它自己不知道套件有沒有更新, 也不懂要怎麼用 Git 更新
當你發現有新版本時, 只能重新安裝一次
pip install --ignore-installed git+...後面一樣
2. pip install --editable
Pip 同時也支援 out-of-site 安裝
這個模式可以讓你把任意本地路徑的套件裝到 Python 裡
git clone https://github.com/author/repo.git 專案目錄
pip install --editable 專案目錄
這會讓 Python 能夠直接使用你 clone 下來的那個目錄, 而不另外裝一份
(類似捷徑的概念, 不是拷貝一份, 而是連結到這裡)
所以當你要更新時, 直接在專案目錄裡 git pull, 就能在 Python 用到新版本
缺點是你自己要記得這件事情, 不要不小心把 clone 下來的東西刪了
===========
順帶講一下, 這年頭如果你不需要開發 Python 套件, 只需要「使用」套件
那麼應該不會直接用到 setup.py (其實開發的時候也不太需要, 這是別話)
Pip 應該可以滿足你所有的安裝需求
如果套件沒辦法正確用 Pip 安裝, 就應該回報作者
如果作者不修復, 這個套件的狀態大概也很危險
要嘛是根本沒人用, 要嘛是作者根本放生 (通常好像也是同一件事)
那你用下去了大概也是遲早要出事, 早點跳船才是上策
--
"問おう、貴方が私のマスターか?"
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.94.62
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1517821461.A.891.html
... <看更多>
python package教學 在 Python 自學第七天:Module 模組 的推薦與評價
也就是使用其他.py 檔案中,預先定義好的變數和函式。使用模組的好處就是,別人寫過或自己定義過的變數和函式可以直接拿來使用。 Python 有一些內建好 ... ... <看更多>
python package教學 在 Re: [問題] github下載package使用的問題- 看板Python - 批踢踢 ... 的推薦與評價
※ 引述《BeAnActuary (Actuary)》之銘言:
: 謝謝指正,這個專案本身就是一個完整的工具,我只是想要直接使用它並作一些數據測試
: 我以為install就是意指安裝...
Install 是安裝沒錯
但是因為 Python 本身就有太多種用法
所以「安裝一個套件」可以代表很多種意思, 每種用法有自己的最佳解
回到你的問題, 看起來這主要有兩種解法, 都是用 Pip
1. pip install
看你的描述, 這個工具並沒有被放上 PyPI
但是 Pip 支援直接從 Git 安裝, 所以你可以
pip install git+https://github.com/author/repo.git#egg=套件名
注意最後面的 #egg=... 部分
這會被 Pip 用來為這個套件取名
通常你可以看 setup.py 裡面的 name 參數, 用一樣的就好
這樣的缺點是沒辦法使用 Pip 的更新功能
因為它自己不知道套件有沒有更新, 也不懂要怎麼用 Git 更新
當你發現有新版本時, 只能重新安裝一次
pip install --ignore-installed git+...後面一樣
2. pip install --editable
Pip 同時也支援 out-of-site 安裝
這個模式可以讓你把任意本地路徑的套件裝到 Python 裡
git clone https://github.com/author/repo.git 專案目錄
pip install --editable 專案目錄
這會讓 Python 能夠直接使用你 clone 下來的那個目錄, 而不另外裝一份
(類似捷徑的概念, 不是拷貝一份, 而是連結到這裡)
所以當你要更新時, 直接在專案目錄裡 git pull, 就能在 Python 用到新版本
缺點是你自己要記得這件事情, 不要不小心把 clone 下來的東西刪了
===========
順帶講一下, 這年頭如果你不需要開發 Python 套件, 只需要「使用」套件
那麼應該不會直接用到 setup.py (其實開發的時候也不太需要, 這是別話)
Pip 應該可以滿足你所有的安裝需求
如果套件沒辦法正確用 Pip 安裝, 就應該回報作者
如果作者不修復, 這個套件的狀態大概也很危險
要嘛是根本沒人用, 要嘛是作者根本放生 (通常好像也是同一件事)
那你用下去了大概也是遲早要出事, 早點跳船才是上策
--
"問おう、貴方が私のマスターか?"
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.94.62
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1517821461.A.891.html
... <看更多>