Solidity: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
k Bot: Penggantian teks otomatis (-  + )
Tidak ada ringkasan suntingan
 
(3 revisi perantara oleh 2 pengguna tidak ditampilkan)
Baris 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>
Baris 22:
Sebagaimana ditentukan oleh Wood, bahasa ini dirancang menurut sintaks ECMAScript untuk membuatnya familiar bagi para pengembang web.{{Butuh rujukan|date=April 2018}} 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 34:
 
== Platform Blockchain ==
Solidity tersedia di:
 
* Ethereum