• 賀賀郎,哇嗄哩供喂 我思故我在

    意思就是說,我是一個好好的、正常的人,我幹嘛跟你講話。

    一般用於朋友間小小辨論時,無法說服對方而使用。

    請不要企圖說服價值觀不在同個方向上的人或朋友。

  • Ethereum 塞車體驗 我思故我在
    下午四點,第一次體驗到 Eethereum 的塞車,一個 Uniswap 的交易等了一個鐘頭

    約1600 左右的交易,到 1702 收到通知完成

    不是說好的幾秒鐘,幾分鐘哦。造成這個情況的這是 TPS 限制嗎?還是真的有大量垃圾訊息或攻擊導致的?

  • 中心思想 我思故我在

    行為會改變、技術會改變,但中心思想不會變
    如同你會隨著環境而適應,但你的價值觀沒那麼容易改變

    中心思想、價值觀要改變,需要非常深刻的思考及體會,一般人在成長階段接受了某種價值觀,就不容易再改變了。

  • 現在想想,還好選了 ethereum 入門 我思故我在
    當時本來是想跟 Bruce 在公司的決定一樣,從 Fabric 開始。最近沒聯絡不知道發展得如何?

    還好選了 ethereum 入門

  • 成大事者不拘小節 魔鬼藏在細節裡 我思故我在

    兩句話看似相互矛盾,但其實使用的場景是不同的
    年輕人,把這兩句話串在一起,就定位成幹話

    真的這淺薄嗎?

  • 想像力比知識更重要?我思故我在

    你的問題在於書讀得太少,想得太多。

    如果是可比較的,那請您思考:想像力固然重要,是不是應該讓你的知識追上你的想像力?

  • 學士碩士博士的不同 我思故我在
    學士 學習知識 判斷問題(價值)
    碩士 運用知識 解決問題
    博士 創造知識 發現問題

  • 真知灼见 我思故我在

    一、明确的见解。

    二、真的知道,看得清楚。

  • 听到一个输入、输出的说法, 你觉得有道理吗? 我思故我在

    假设,你所读的文章, 看的书,都是一种养份,

    如果你吸收了养份,没有立即输出,则这个养份会供给到其他的部份,

    比如,你无法抒发的情绪很可能更增加,你的压力可能增加,

    当然你也可能内化了这些养份,

    但是这些你没有立即输出的养份,到底供给了什麽部份,并不确实知道。

    所以,当你要吸收养份的时候,请确保立即输出,输出了之後也能整理、过滤、内化。

    这样的说法,对吗?你认为呢?欢迎跟我讨论。

  • 为什麽别人的话术SOP你用不好? 我思故我在

    越复杂的结构,耦合度势必越高

    越单纯的结构,鲁棒性越高

    也因此对於初创的团队, 我都会用一个单纯的框架去建构工作引擎

    而对於已成立一段时间的团队,我都会先从既有的SOP开始优化,再进行创新

    还记得某洛姓老板,非常主观的直接把一个别的推广团队所使用的 推广SOP

    强加到某个自已公司的一个业推广团队上,导致团队2个星期业绩重创,

    而我所引导同公司的另一个业绩较差的团队,使用同一套推广SOP, 则是第二个星期开始业绩飙升。

    同一套SOP操作、说法、话术,为什麽有不同的结果?不值得深思吗?

以太坊智能合約的生命周期 Ethereum Smart Contract Lifecycle

以太坊 ethereum andy 3周前 (07-13) 132次浏览 已收录 0个评论 扫描二维码

以太坊智能合約的生命周期
Ethereum Smart Contract Lifecycle

最近在寫一個募資合約時,發現自己對合約的生命周期還不是很了解,該用一個合約管理所有發起的募資,還是一個募資發起一個合約呢?
因此查詢了官網跟幾文章,然後在 testnet 上測試了一下。

以物件導向來比喻

以物件導向來比喻的話,可以把一個 contract 想像成一個 class,contract 可以被多次部署在網路上,每個實體都會有不同的地址,這個地址以後可以用來和這個地址指定的合約實體交互。因此每個部署的合約可以想成是物件導向的物件實體,每個合約實體都有自己的狀態(內部永久性的資料)。

合約的建構函數在合約部署到網路上時被呼叫,這也是唯一次被呼叫。所以,所有的初始化都應該在建構函數裡,在部署時只被執行一次。
在建立完合約之後,會有一個合約地址可以使用,在合約的有效期限之內可以用來和這個合約實體交互。

可以在合約內透過調用一個包括 selfdestruct 的函數來銷毀合約,這個函數就類似於物件導向裡面解構函數 destructor 的概念。

多合約

如果你的方案需要一個以上的合約來執行任務,就必需獨立地部署每個合約。A合約跟B合約溝通的唯一方法就是知道 B合約的地址。

如果 A合約需要跟不同的 B合約實體進行交互,在調用相關函數時必須傳入B合約實體的地址。如果A合約只跟一個B合約實體通訊,直接在A合約建構函數裡傳入B合約的實體地址,讓A合約存為變數即可。

訊息傳送者的地址

如果A合約裡的A函數, 調用B合約裡的B函數,在B函數的環境裡 msg.sender 就是 A合約的地址,如果你想在B函數裡面確定交易的發起者,應該使用 tx.origin。如果你從 A函數裡調用同樣是A合約的 A1函數, msg.sender 就是發起交易的地址跟 tx.origin 一樣。

結論

對於我現在這個募資項目來說,一個合約實體等同於一個獨立的募資,顯然比較合理。然後再用其他方式來管理這些合約實體,比如說一個管理類別的合約。

參考
https://hackernoon.com/ethereum-smart-contracts-lifecycle-multiple-contracts-message-sender-e9195ceff3ec


神隊友學長Andy , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:以太坊智能合約的生命周期 Ethereum Smart Contract Lifecycle
喜欢 (0)
[320208045@qq.com]
分享 (0)
andy
关于作者:
中年大叔,打拼 like young students.
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址