Merge branch 'feature/sourcify-ui-improvements' into develop
This commit is contained in:
commit
df40e065c4
|
@ -10,6 +10,10 @@ This is the default integration method, we resolve the public Sourcify IPNS to g
|
|||
|
||||
The downside is that recently verified contracts may not have yet been added to the root hash and republished into IPNS.
|
||||
|
||||
It assumes a local IPFS gateway at localhost:8080 to avoid leaking your queries to public gateways.
|
||||
|
||||
> This option is actually not working, but it is provided for completeness, follow https://github.com/ethereum/sourcify/issues/495
|
||||
|
||||
## Direct HTTP connection to Sourcify's repository
|
||||
|
||||
Standard HTTP connection to their repo at https://repo.sourcify.dev/
|
||||
|
@ -21,3 +25,19 @@ Fast access to fresh verified data. On the other hand it is less private and cen
|
|||
As a midterm solution, we are making available a snapshot docker image of their repository, containing only mainnet full verified contracts.
|
||||
|
||||
This would allow you to play with existing contracts up to the snapshot date/time locally, not depending on their service or IPFS connectivity availability.
|
||||
|
||||
> It is very likely this run mode will be deprecated in future.
|
||||
|
||||
The Sourcify snapshot is provided as a nginx image at: https://hub.docker.com/repository/docker/otterscan/sourcify-snapshot
|
||||
|
||||
You can run it with:
|
||||
|
||||
```
|
||||
docker run --rm -d -p 3006:80 --name sourcify-snapshot otterscan/sourcify-snapshot:2021-09
|
||||
```
|
||||
|
||||
Stop it with:
|
||||
|
||||
```
|
||||
docker stop sourcify-snapshot
|
||||
```
|
||||
|
|
|
@ -5,6 +5,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|||
import { faChevronDown } from "@fortawesome/free-solid-svg-icons/faChevronDown";
|
||||
import ContentFrame from "../ContentFrame";
|
||||
import InfoRow from "../components/InfoRow";
|
||||
import Copy from "../components/Copy";
|
||||
import ABI from "./ABI";
|
||||
import Contract from "./Contract";
|
||||
import { RuntimeContext } from "../useRuntime";
|
||||
|
@ -42,13 +43,13 @@ const Contracts: React.FC<ContractsProps> = ({
|
|||
<RadioGroup value={sourcifySource} onChange={setSourcifySource}>
|
||||
<div className="flex space-x-2">
|
||||
<RadioButton value={SourcifySource.IPFS_IPNS}>
|
||||
Resolve IPNS
|
||||
Resolve IPNS @localhost:8080 gateway
|
||||
</RadioButton>
|
||||
<RadioButton value={SourcifySource.CENTRAL_SERVER}>
|
||||
Sourcify Servers
|
||||
</RadioButton>
|
||||
<RadioButton value={SourcifySource.CUSTOM_SNAPSHOT_SERVER}>
|
||||
Local Snapshot
|
||||
Local Snapshot @localhost:3006
|
||||
</RadioButton>
|
||||
</div>
|
||||
</RadioGroup>
|
||||
|
@ -91,7 +92,8 @@ const Contracts: React.FC<ContractsProps> = ({
|
|||
{rawMetadata.output.abi && (
|
||||
<div className="mb-3">
|
||||
<div className="flex space-x-2 text-sm border-l border-r border-t rounded-t px-2 py-1">
|
||||
ABI
|
||||
<span>ABI</span>
|
||||
<Copy value={JSON.stringify(rawMetadata.output.abi)} />
|
||||
</div>
|
||||
<ABI abi={rawMetadata.output.abi} />
|
||||
</div>
|
||||
|
|
|
@ -27,8 +27,7 @@ export enum SourcifySource {
|
|||
|
||||
const sourcifyIPNS =
|
||||
"k51qzi5uqu5dll0ocge71eudqnrgnogmbr37gsgl12uubsinphjoknl6bbi41p";
|
||||
const ipfsGatewayPrefix = `https://ipfs.io/ipns/${sourcifyIPNS}`;
|
||||
// const ipfsGatewayPrefix = "http://localhost:8080/ipfs/QmWQoGfrLcizHueg3YkgDCh1S7SkfSP9A7H8YeZmUDfbnn"
|
||||
const ipfsGatewayPrefix = `http://localhost:8080/ipns/${sourcifyIPNS}`;
|
||||
const sourcifyHttpRepoPrefix = `https://repo.sourcify.dev`;
|
||||
const snapshotPrefix = "http://localhost:3006";
|
||||
|
||||
|
|
Loading…
Reference in New Issue