Solidity: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Smsunarto (bicara | kontrib)
Tidak ada ringkasan suntingan
Tidak ada ringkasan suntingan
 
(8 revisi perantara oleh 3 pengguna tidak ditampilkan)
Baris 1:
{{about|bahasa pemrograman|wujud materi|solid}}
{{technical|date=Juni 2018}}
{{Infobox programming language
| name = Solidity
Baris 6 ⟶ 8:
| influenced by = [[JavaScript]], [[C++]], [[Python (programming language)|Python]], [[PowerShell]]
| website = {{URL|github.com/ethereum/solidity}}
}}'''Solidity'''  adalah kontrak bahasa pemrograman berorientasi untuk menulis [[kontrak pintar]].<ref name="IBTimes12AUG2016">{{cite news|url=http://www.ibtimes.co.uk/pwc-blockchain-expert-pinpoints-sources-ambiguity-smart-contracts-1575778|title=PwC blockchain expert pinpoints sources of ambiguity in smart contracts|last1=Allison|first1=Ian|date=12 August 2016|work=IBTimes|publisher=|type=News|accessdate=14 December 2016}}</ref>  Bahasa pemrograman  ini digunakan untuk menciptakan [[kontrak pintar]]<ref name="finextra24Nov2016">{{cite news|url=https://www.finextra.com/newsarticle/29813/sofe-berlin-swift-unveils-blockchain-proof-of-concept|title=SOFE Berlin: Swift unveils blockchain proof-of-concept|last1=|first1=|date=24 November 2016|work=Finextra|publisher=|type=News|accessdate=24 November 2016}}</ref> pada berbagai platform  blockchain.<ref name=":CoinDesk14Dec2016">{{cite web|url=http://www.coindesk.com/blockchain-veterans-unveil-secure-smart-contracts-framework/|title=Blockchain Veterans Unveil Secure Smart Contracts Framework|date=15 September 2016|work=CoinDesk|accessdate=14 December 2016|author=Alyssa Hertig}}</ref><ref name=":CCN09062016">{{cite web|url=https://www.cryptocoinsnews.com/counterparty-brings-ethereum-smart-contracts-to-the-bitcoin-blockchain/|title=Counterparty Brings Ethereum Smart Contracts to the Bitcoin Blockchain|date=6 September 2016|work=CCN|accessdate=14 December 2016|author=Rebecca Campbell}}</ref>  Bahasa ini  dikembangkan oleh [[Gavin Wood|Gavin Kayu]], Kristen Reitwiessner, Alex Beregszaszi, Liana Husikyan, Yoichi Hirai dan beberapa mantan kontributor utama  Ethereum  untuk menambahkan fitur  kontrak pintar pada platform blockchain seperti Ethereum.<ref name="CoinDesk28Setp2016">{{cite news|url=http://www.coindesk.com/ethereum-formal-verification-smart-contracts/|title=In Formal Verification Push, Ethereum Seeks Smart Contract Certainty|last1=|first1=|date=28 September 2016|work=CoinDesk|publisher=|type=News|accessdate=12 December 2016}}</ref><ref name="browning2016">{{cite book|url=https://books.google.co.th/books?id=2zMlDAAAQBAJ&pg=PT35&dq=solidity+blockchain&hl=en&sa=X&redir_esc=y#v=onepage&q=solidity%20blockchain&f=false|title=Digital Siege: Why Young Entrepreneurs Are Winning|last=Browning|first1=David|last2=|first2=|date=May 2016|isbn=978-1628652963|accessdate=2017-01-08|authorlink=|archive-date=2017-01-09|archive-url=https://web.archive.org/web/20170109034037/https://books.google.co.th/books?id=2zMlDAAAQBAJ&pg=PT35&dq=solidity+blockchain&hl=en&sa=X&redir_esc=y#v=onepage&q=solidity%20blockchain&f=false|dead-url=yes}}</ref>
 
== Sejarah ==
Solidity awalnya diusulkan pada bulan Agustus 2014 oleh Gavin Wood;<ref>{{cite web|url=https://stackedit.io/viewer#!url=https://gist.githubusercontent.com/gavofyork/31b35cd2252a00d0d057/raw/16de06189d2175d2e31b300f1f8531e20c927635/solidity-original|title=StackEdit Viewer|work=stackedit.io|author=Benoit Schweblin|access-date=2018-06-26|archive-date=2016-04-01|archive-url=https://web.archive.org/web/20160401170211/https://stackedit.io/viewer#!url=https://gist.githubusercontent.com/gavofyork/31b35cd2252a00d0d057/raw/16de06189d2175d2e31b300f1f8531e20c927635/solidity-original|dead-url=yes}}</ref>{{r|Allison-2016-12-20}} bahasa ini kemudian dikembangkan oleh tim solidity Ethereum, yang dipimpin oleh Kristen Reitwiessner. Bahasa ini  adalah salah satu dari empat bahasa pemrograman (yang lainnya adalah Serpent, LLL, Viper (eksperimental) dan Mutan (usang)) yang dirancang untuk  Ethereum Virtual Machine (EVM). Untuk informasi lebih lanjut tentang bahasa-bahasa ini melihat bahasa pemrograman  Ethereum.
 
Saat ini, Solidity adalah bahasa utama di Ethereum serta blockchain privat lainnya yang bersaing dengan Ethereum, seperti Monax dan Hyperledger  Burrow blockchain, yang menggunakan Tendermint sebagai sistem mufakat. [[Society for Worldwide Interbank Financial Telecommunication|SWIFT]] telah meluncurkan bukti konsep menggunakan Solidity di platform Burrow.<ref name="finops">{{cite news|url=http://finops.co/operations/blockchains-smart-contracts-what-smart-whats-not/|title=Blockchain’s Smart Contracts: What’s Smart, What’s Not|last1=KENTOURIS|first1=CHRIS|date=13 December 2016|work=Finops|publisher=|type=News|accessdate=14 December 2016}}</ref>
 
Sebuah peniliti  [[Universitas Cornell|Cornell University]]  menyatakan peretasan DAO yang terjadi pada tahun 2016 adalah sebagian salah dari Solidity.  Dia menyatakan: "ini sebenarnya bukan cacat atau kesalah dari kontrak DAO sendiri: secara teknis EVM beroperasi sebagaimana dimaksud, tetapi Solidity memperkenalkan kelemahan keamanan dalam kontrak yang tidak hanya terlewat oleh komunitas, tetapi tidak terjawab oleh para desainer dari bahasa mereka sendiri."<ref name="CCN19June2016">{{cite news|url=https://www.cryptocoinsnews.com/ethereum-solidity-flaw-dao/|title=Ethereum’s Solidity Flaw Exploited in DAO Attack Says Cornell Researcher|last1=Quentson|first1=Andrew|date=19 June 2016|work=CryptocoinNews|publisher=|type=News|accessdate=14 December 2016}}</ref><ref name="wiredjune18th2016">{{cite news|url=https://www.wired.com/2016/06/50-million-hack-just-showed-dao-human/|title=A $50 MILLION HACK JUST SHOWED THAT THE DAO WAS ALL TOO HUMAN|last1=Finley|first1=Klint|date=18 June 2016|work=Wired|publisher=|type=News|accessdate=18 February 2017}}</ref>
 
== Deskripsi ==
Soliditas adalah  bahasa pemrograman ''statically-typed'' yang dirancang untuk mengembangkan kontrak pintar yang berjalan pada EVM.<ref>{{Cite book|url=https://books.google.com/books?id=CEsPDAAAQBAJ&pg=PT58&dq=solidity+ethereum&hl=en&sa=X&ved=0ahUKEwi3lsC-mdLMAhUCLmMKHY_9DtwQ6AEIKzAA#v=onepage&q=solidity%20ethereum&f=false|title=The Business Blockchain: Promise, Practice, and Application of the Next Internet Technology|first1=William|last2=|first2=|date=2016-04-26|publisher=[[Wiley Publishing]]|isbn=978-1119300311|page=|chapter=|last1=Mougayar}}</ref><ref name="ibtimes.co.uk">{{Cite web|url=http://www.ibtimes.co.uk/microsoft-adds-ethereum-language-solidity-visual-studio-1552171|title=Microsoft adds Ethereum language Solidity to Visual Studio|last=Allison|first=Ian|date=2016-03-30|website=|publisher=[[International Business Times]]|access-date=2016-05-11}}</ref> SolidiySolidity ini disusun menjadi  bytecode yang dapat dijalankan pada EVM. Dengan Solidity, pengembang dapat menulis aplikasi yang menerapkan logika bisnis yang terkandung di smart kontrak, meninggalkan catatan transaksi berwibawa dan tidak bisa dimanipulasi oleh orang yang tinggal berotoritas.<ref>{{Cite web|url=https://www.cryptocoinsnews.com/ethereums-solidity-now-available-in-microsoft-visual-studio/|title=Ethereum's Solidity Now Available in Microsoft Visual Studio|last=Bradley|first=Joseph|date=2016-05-04|website=|publisher=Cryptocoinnews|access-date=2016-05-11}}</ref><ref name="Allison">{{cite web|url=http://www.ibtimes.co.uk/microsoft-adds-ethereum-language-solidity-visual-studio-1552171|title=Microsoft adds Ethereum language Solidity to Visual Studio|last=Allison|first=Ian|date=30 March 2016|website=|work=[[International Business Times]]|publisher=|access-date=11 May 2016}}</ref>  Menulis  kontrak pintar pada bahasa khusus kontrak pintar seperti Solidity terbilang mudah (bagi mereka yang sudah memiliki keterampilan pemrograman).<ref name="Mougayar2016">{{cite book|url=https://books.google.co.th/books?id=CEsPDAAAQBAJ&pg=PT58&dq=solidity+blockchain&hl=en&sa=X&ved=0ahUKEwiu6Lrk87TRAhULpY8KHaprC-8Q6AEILjAE#v=onepage&q=solidity%20blockchain&f=false|title=The Business Blockchain: Promise, Practice, and Application of the Next Internet Technology Hardcover|last=Mougayar|first1=William|last2=|first2=|date=May 9, 2016|publisher=[[Wiley Publishing]]|isbn=978-1119300311|accessdate=2017-01-09|authorlink=}}</ref>
 
Sebagaimana ditentukan oleh Wood, bahasa ituini dirancang menurut sintaks  ECMAScript  untuk membuatnya familiar bagi para pengembang web;.{{Butuh rujukan|date=April 2018}}akan Akan tetapi, tidak seperti ECMAScript, Solidity memiliki static typing dan variadic return. Dibandingkan dengan bahasa pemrograman yang menargetkan EVM seperti Ular dan Mutan, Solidity memiliki sejumlah perbedaan penting. Variabel anggota kompleks untuk kontrak termasuk pemetaan kewenangan hirarkis dan  [[Record|struktur]]  tersedia. Kontrak memiliki fitur  inheritance, termasuk multiple inheritance dengan linearisasi  C3. Sebuah application binary interface (ABI) memfasilitasi beberapa jenis  fungsi type-safe dalam satu kontrak itu juga diperkenalkan (dan kemudian didukung oleh Serpent). Sebuah sistem dokumentasi untuk memberikan deskripsi berorientasi kepada pengguna yang berisi keterangan dari konsekuensi dari pemanggilan sebuah method atau function juga masuk ke dalam proposal, yang dikenal sebagai "Natural Language Specification".{{Sfn|Kapetanios-2008-06-27|p.309}}<ref>{{cite web|url=https://github.com/ethereum/wiki/wiki/Ethereum-Natural-Specification-Format|title=Ethereum Natural Specification Format|work=GitHub|author=ethereum}}</ref>
 
Contoh program solidity:<ref>RJ Catalano, one of the core developers, see VoR0220 on github</ref>{{r|Bhargavan-2016-08-27}}<syntaxhighlight />
 
== Platform pengembangan yang tersedia ==
Baris 32 ⟶ 34:
 
== Platform Blockchain ==
Solidity tersedia di:
 
* Ethereum
Baris 87 ⟶ 89:
| archive-date = August 23, 2017
}}</ref>}}
 
[[Kategori:Ethereum]]