Smart Contract
Building on Arcology Network
Programming
At the moment, Arcology supports Solidity for smart contract development, but since the system is inherently VM-agnostic, more languages will be supported in the future.
How Do Ethereum Developers Build on Arcology?
Developers can use the Ethereum toolchains like Truffle / Remix directly. You can also redeploy your Ethereum contracts on the Arcology network. Arcology supports all standard Ethereum API RPC interfaces.
You don’t have to change anything, unless you want to write concurrent smart contracts, which will give significant speedup even in the most complicate circumstances, but it is optional.
Unique Features
Arcology provides concurrent APIs in Solidity libraries to enable concurrent smart contract development, which aren't available on Ethereum. In general, Arcology is a superset of Ethereum. Arcology supports all the feature Ethereum does, but not the other way around.
What is the concurrency library?
The concurrency libraries consist of a set of APIs in Solidity for smart contract developers to avoid potential state conflicts caused by contention. It is an integral part of Arcology concurrency framework.
Why do we need the concurrent library?
Despite the fact that parallel processing can dramatically improve TPS, the majority of smart contracts can't be processed in parallel because of contention. The concurrent library helps eliminate contention from original contracts to take full use of parallel processing design.
When does concurrent library benefit the most?
With concurrent library, smart contract developers can avoid all the transaction reverts due to conflicts. This feature is unique to Arcology and especially useful for large-scale DApps.
What is a conflict?
In Arcology, a conflict happens when a shared state is adversely accessed by multiple transactions. The simplest example is where multiple transactions are trying to write a global variable.
How does Arcology handle conflicts?
Transactions causing conflicts will be reverted completely to restore state consistency.
Are states even protected without concurrent library?
Absolutely, the state consistency is always guaranteed at the system level, regardless of the concurrent library. The concurrent library only helps improve the performance.
Last updated