> For the complete documentation index, see [llms.txt](https://docs.empe.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.empe.io/empe-blockchain/overview/migration-to-v0.4.0.md).

# Migration to v0.4.0

## [Release Notes](https://github.com/empe-io/empe-chain-releases/blob/master/v0.4.0/release_notes.md)

### For Linux AMD Distributions <a href="#for-linux-distributions-using-prebuild-binary" id="for-linux-distributions-using-prebuild-binary"></a>

### Install Go 1.23.0 on Linux (manually)

1. **Remove the old Go version (if installed manually):**

```bash
sudo rm -rf /usr/local/go
```

***

2. **Download Go 1.23.0 tarball:**

```bash
wget https://go.dev/dl/go1.23.0.linux-amd64.tar.gz
```

***

3. **Extract and install to `/usr/local`:**

```bash
sudo tar -C /usr/local -xzf go1.23.0.linux-amd64.tar.gz
```

***

4. **Add Go to your PATH (if not already added):**

Add this line to your shell config file (`~/.bashrc`, `~/.zshrc`, or `~/.profile`):

```bash
export PATH=$PATH:/usr/local/go/bin
```

Then reload your shell:

```bash
source ~/.bashrc
# or
source ~/.zshrc
```

***

5. **Verify the installation:**

```bash
go version
```

You should see:

```
go version go1.23.0 linux/amd64
```

***

### Install emped binary <a href="#install-emped-binary" id="install-emped-binary"></a>

Download the tar.gz file:

```
curl -LO https://github.com/empe-io/empe-chain-releases/raw/master/v0.4.0/emped_v0.4.0_linux_amd64.tar.gz
```

Verify the checksum (change filename for ARM):

```
sha256sum emped_v0.4.0_linux_amd64.tar.gz
```

You should see the following:

```
776ae05a7dd79251306a98cc947eed98aa5c99195f3cfaed0ce3e3a12a715481  emped_v0.4.0_linux_amd64.tar.gz
```

Unpack the tar.gz file:

```
tar -xvf emped_v0.4.0_linux_amd64.tar.gz
```

Move the binary to your local bin directory:

```
mkdir -p ~/go/bin
sudo mv emped ~/go/bin
```

Check the version

```
emped version
```

You should see the following:

```
0.4.0
```

### Setup cosmovisor <a href="#setup-cosmovisor" id="setup-cosmovisor"></a>

Create cosmovisor upgrade dir

```
export DAEMON_HOME=$HOME/.empe-chain/
mkdir -p $DAEMON_HOME/cosmovisor/upgrades/v0.4.0/bin
```

Put binary in proper dir;

```
cp ~/go/bin/emped $DAEMON_HOME/cosmovisor/upgrades/v0.4.0/bin
```

Just to be sure check version (should be 0.4.0);

```
$DAEMON_HOME/cosmovisor/upgrades/v0.4.0/bin/emped version
```

You should see the following:

```
0.4.0
```

### Common problems

#### **Cannot open or find libwasmvm before or after the migration**

**Install wasmvm library**

Create a directory for the library

```bash
mkdir ~/.empe-chain/lib
```

Download the library to the directory

```bash
wget https://github.com/CosmWasm/wasmvm/releases/download/v1.5.2/libwasmvm.x86_64.so -P ~/.empe-chain/lib
```

Add the library to the path

```bash
echo 'export LD_LIBRARY_PATH=/home/$USER/.empe-chain/lib:$LD_LIBRARY_PATH' >> ~/.profile
source ~/.profile
```

**Add wasmvm path to cosmovisor service**

Add the following line to the cosmovisor service file under the `[Service]` section. Remember to change `user_path` to your actual path

```bash
Environment="LD_LIBRARY_PATH=/home/user_path/.empe-chain/lib:$LD_LIBRARY_PATH"
```

Restart the cosmovisor service

```bash
sudo systemctl daemon-reload
sudo systemctl restart cosmovisor
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.empe.io/empe-blockchain/overview/migration-to-v0.4.0.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
