<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Solidity語言 Solidity是一種智能合約高級語言,運行在Ethereum虛擬機(EVM)之上。 [TOC] ## Solidity與其它語言相關的特點? 它的語法接近于Javascript,是一種面向對象的語言。但作為一種真正意義上運行在網絡上的去中心合約,它又有很多的不同,下面列舉一些: - 以太坊底層是基于帳戶,而非UTXO的,所以有一個特殊的`Address`的類型。用于定位用戶,定位合約,定位合約的代碼(合約本身也是一個帳戶)。 - 由于語言內嵌框架是支持支付的,所以提供了一些關鍵字,如`payable`,可以在語言層面直接支持支付,而且超級簡單。 - 存儲是使用網絡上的區塊鏈,數據的每一個狀態都可以永久存儲,所以需要確定變量使用內存,還是區塊鏈。 - 運行環境是在去中心化的網絡上,會比較強調合約或函數執行的調用的方式。因為原來一個簡單的函數調用變為了一個網絡上的節點中的代碼執行,分布式的感覺。 - 最后一個非常大的不同則是它的異常機制,一旦出現異常,所有的執行都將會被回撤,這主要是為了保證合約執行的原子性,以避免中間狀態出現的數據不一致。 ## Hello Wolrd! 聽起來高大上,其實入手玩起來也可以很簡單: ``` pragma solidity ^0.4.0; contract HelloWorld{ uint balance; function update(uint amount) returns (address, uint){ balance += amount; return (msg.sender, balance); } } ``` 通過讀取參數輸入的新值,并將之累加至合約的變量中,返回發送人的地址,和最終的累計值。 ## 瀏覽器編譯器Remix 使用無需安裝的瀏覽器編譯器[Remix](https://ethereum.github.io/browser-solidity/)可以立即看到效果。打開后,如下圖所示: ![Remix](https://box.kancloud.cn/d4b1a7be2245783accfe70708a7e0323_1314x611.jpg) 輸入上述代碼,點擊Create按鈕,就能在瀏覽器中創建能調用函數的按鈕。在`update`按鈕旁輸入入參,點擊按鈕,就能執行函數調用并打印出函數返回的結果了。 ![image](https://box.kancloud.cn/4d3c3e5363180075f17a96ddd61340d3_584x425.jpg) 如果出現錯誤,可以等待瀏覽器資源加載完成,或強制刷新后再試。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看