执行这个之前一定要开通docker的tcp访问
对于Ubuntu 15.04及更高版本
- 创建/etc/systemd/system/docker.service.d目录。
$ sudo mkdir /etc/systemd/system/docker.service.d
2. 创建一个/etc/systemd/system/docker.service.d/http-proxy.conf文件。tcp端口可自行改变
$sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:1317
3.刷新配置
$ sudo systemctl daemon-reload
4.重新启动docker守护进程。
$sudo systemctl restart docker
若不打开docker的远程访问的话,会得不到区块链的高度和ID等信息,即下面运行会报错。
成功的标志:
要执行下面的代码则需要接着上一步的操作,即第一步已发布智能合约的后面,不然要重新做,否则拿不到信息:
下面找不到account就不知道为什么了?
>> const mnemonic = loadOrCreateMnemonic("foo.key");
undefined
>> defaultOptions
{ httpUrl: 'https://lcd.demo-071.cosmwasm.com',
networkId: 'testing',
feeToken: 'uscrt',
gasPrice: 0.025,
bech32prefix: 'enigma' }
>> const enigmaOptions = {httpUrl: "http://localhost:1317",networkId: "enigma-pub-testnet-3",feeToken: "uscrt", gasPrice: 1, bech32prefix: "secret",}
undefined
>> const {address,client} = await connect(mnemonic,enigmaOptions);
undefined
>> address
'secret1vda069cvvj46vle03u8aycq082vglendgg4ec3'
>> client.getAccount()
undefined
>> const {address1,client1} = await connect(mnemonic,enigmaOptions,{});
../.npm/_npx/327813/lib/node_modules/@cosmwasm/cli/[eval].ts:124:65 - error TS2554: Expected 2 arguments, but got 3.
124 const {address1,client1} = await connect(mnemonic,enigmaOptions,{});
~~
undefined
>> client
SigningCosmWasmClient {
codesCache: Map {},
restClient:
RestClient {
client:
{ [Function: wrap]
request: [Function: wrap],
getUri: [Function: wrap],
delete: [Function: wrap],
get: [Function: wrap],
head: [Function: wrap],
options: [Function: wrap],
post: [Function: wrap],
put: [Function: wrap],
patch: [Function: wrap],
defaults: [Object],
interceptors: [Object] },
broadcastMode: 'block' },
anyValidAddress: 'secret1vda069cvvj46vle03u8aycq082vglendgg4ec3',
senderAddress: 'secret1vda069cvvj46vle03u8aycq082vglendgg4ec3',
signCallback: [Function],
fees:
{ upload: { amount: [Array], gas: '1000000' },
init: { amount: [Array], gas: '500000' },
exec: { amount: [Array], gas: '200000' },
send: { amount: [Array], gas: '80000' } } }
>> await client.getAccount();
undefined
>> const wasm = fs.readFileSync("contract.wasm.gz");
undefined
>> const uploadReceipt = await client.upload(wasm, {});
Thrown:
Error: Account does not exist on chain. Send some tokens there before trying to query nonces.
at process._tickCallback (internal/process/next_tick.js:68:7)
at SigningCosmWasmClient.getNonce (/home/whc/.npm/_npx/327813/lib/node_modules/@cosmwasm/cli/node_modules/@cosmwasm/sdk/src/cosmwasmclient.ts:212:13)