Resolve all domains in a zone to the same ip

In general, knot-resolver isn’t designed to serve anything authoritatively. There is very limited support for that, e.g. the hints module which you found. Even that one doesn’t serve a real full zone (that wouldn’t be so easy).

Still, one can write basically anything in the configuration, being lua code with access to most resolver internals, so let me post an example that should work well, but there are no guarantees about some “edge cases” or about breakage due to some internal API changes after some months or years. BTW, your question is the same as [SOLVED] How to configure local DNS to route *.abc.xyz to one host?

local function genRR (state, req)
	local answer = req.answer
	local qry = req:current()
	if qry.stype ~= kres.type.A then
		return state
	end
	answer:aa(true)
	answer:ad(false)
	answer:rcode(kres.rcode.NOERROR)
	answer:begin(kres.section.ANSWER)
	answer:put(qry.sname, 900, answer:qclass(), kres.type.A, '\10\128\0\1')
	return kres.DONE
end
policy.add(policy.suffix(genRR, { todname('i2p.') }))