-
Notifications
You must be signed in to change notification settings - Fork 39
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* small doc changes * address pr comments
- Loading branch information
1 parent
07b12fa
commit 0e48362
Showing
4 changed files
with
59 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
--- | ||
# Testnet Security | ||
|
||
The first Obscuro Testnet is focused on functionality and the User and Developer experience. | ||
|
||
Privacy features require special attention from the core and security audit team and will be finalised in a | ||
future version of Testnet. | ||
|
||
As a user of the "Obscuro Testnet", do not expect the data you are loading to be 100% private. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
--- | ||
--- | ||
# Developer quick start | ||
|
||
The only difference between an Obscuro and an Ethereum (or Arbitrum) dApp is that on Obscuro you can hide the internal | ||
state of the contract. | ||
|
||
The most obvious example is that an ERC20 token deployed on Obscuro will not respond to balance requests unless you are | ||
the account owner. | ||
|
||
In Obscuro, the internal node database is encrypted, and the contract execution is also encrypted inside the TEE. | ||
The calls to [getStorageAt](https://docs.alchemy.com/reference/eth-getstorageat) are disabled, so all data access | ||
requests will be performed through view functions which are under the control of the smart contract developer. | ||
|
||
Nobody (which includes node operators and the sequencer) can access the internal state of a contract. | ||
|
||
**The only thing you have to do when porting a dApp to Obscuro is to add a check in your view functions comparing | ||
the `tx.origing` and `msg.sender` against the accounts allowed to access that data.** | ||
|
||
The snippet below illustrates this for an [ERC20 token](https://github.com/obscuronet/sample-applications/blob/main/number-guessing-game/contracts/ERC20.sol#L25). | ||
|
||
```solidity | ||
function balanceOf(address tokenOwner) public view override returns (uint256) { | ||
require(tx.origin == tokenOwner || msg.sender == tokenOwner, "Only the token owner can see the balance."); | ||
return balances[tokenOwner]; | ||
} | ||
``` | ||
|
||
_Note that this works because in Obscuro all calls to view functions are authenticated._ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters